gpt4 book ai didi

javascript - PJax - 如何关闭修改后的行为

转载 作者:行者123 更新时间:2023-11-30 18:01:03 28 4
gpt4 key购买 nike

我已经在我的测试站点上启动并运行了 PJax - 它很有用。然而,它严重依赖于大量的 javascript 小部件,因此会泄漏内存。

因为我现在没有时间重新编写每个小部件,所以我认为一个简单的解决方案是在比方说 20 个 pjax 页面转换之后进行正常的页面加载。一个简单的计划......但它似乎是不可能的。

$.pjax.disable();

....仍然通过 AJAX 获取内容,但不会更改页面。

$(document).pjax();.

...不会改变行为

$.pjax.handleClick = function (event, container, options) { return; };

...不会改变行为

$.pjax.state.timeout = 0;

...不会改变行为

delete $.pjax;

...中断导航

$.pjax.defaults.timeout=0;

...不会改变行为

如何暂停 pjax?

最佳答案

如果为pjax:beforeSend添加一个监听器,就可以捕获请求的URL,自己设置location.hrefreturn false到取消 pjax 行为。这就是我使用以下代码执行此操作的方式:

var pageLoadCounter = 0;
var MAX_PAGE_LOADS = 20;

$(".pjaxContainer").on("pjax:beforeSend", function (e, xhr, settings) {
if (++pageLoadCounter > MAX_PAGE_LOADS) {
// URI can be found at https://github.com/medialize/URI.js
var uri = URI(settings.url);

// Remove _pjax from query string before reloading
uri.removeSearch("_pjax");

location.href = uri.toString();
return false;
}
});

关于javascript - PJax - 如何关闭修改后的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16992506/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com