PJAX:如何使后退按钮从服务器重新请求 HTML

pjax: how to make back button re-request html from the server

本文关键字:新请求 请求 HTML 服务器 何使 按钮 PJAX      更新时间:2023-09-26

pjax 插入到 pjax 容器中的 html 代码包含一些 JavaScript 代码。它工作得很好 - 当 pjax 执行插入时,js 被执行。

但是,当用户单击浏览器的"后退"按钮时,不会发生这种情况。

示例情况:

  • 用户转到/aaa
  • 用户单击指向/bbb 的 pjax'ed 链接(请求的html 包含 js,它被执行(
  • 用户点击/ccc 的 pjax 链接
  • 用户单击指向/bbb 的 pjax'ed 链接(请求的html 包含 js,它被执行(
  • 用户点击/ccc 的 pjax 链接
  • 用户单击后退按钮 - js 未执行。

要加载页面中添加的 jquery,您需要在 pjax 事件完成后调用它。

要使其也适用于浏览器的后退/前进按钮单击,您可以使用 pjax-end 事件。

$("#pjax_container_id").bind('pjax:end', function() {
  // call your jquery functions
});

希望这对你有帮助。

谢谢。