1

您如何禁用 Chrome 的 pushstate(出于测试目的)?

如果您知道一个可以轻松切换的插件,那就太好了:)

我将davis.js用于我的 pushstate 逻辑

4

2 回答 2

3
history.pushState = function (){};
//An empty function so if it is used, it doesn't throw any errors

把它放在控制台中。多田!您可以轻松地制作一个 Chrome 扩展程序,使用内容脚本在页面上执行该扩展程序。

于 2012-03-26T14:46:19.943 回答
1

Davis.js 路由仍然有效的原因是,当您单击链接时,它会直接运行您的路由,因为没有 onPushState 事件,您应该会发现使用后退和前进按钮不再触发您的路由。

如果您想模拟在不支持 pushState 的浏览器中发生的情况,您可以使用 Davis.js 检查支持的方式。这是在Davis.supported 函数中完成的。

您可以覆盖该函数以始终返回 false,这在不支持 pushState 的浏览器中通常会发生。如果您愿意,可以将其包装到 Davis.js 扩展中,以块 iOS 扩展为例。

于 2012-03-26T21:07:46.670 回答