您如何禁用 Chrome 的 pushstate(出于测试目的)?
如果您知道一个可以轻松切换的插件,那就太好了:)
我将davis.js用于我的 pushstate 逻辑。
history.pushState = function (){};
//An empty function so if it is used, it doesn't throw any errors
把它放在控制台中。多田!您可以轻松地制作一个 Chrome 扩展程序,使用内容脚本在页面上执行该扩展程序。
Davis.js 路由仍然有效的原因是,当您单击链接时,它会直接运行您的路由,因为没有 onPushState 事件,您应该会发现使用后退和前进按钮不再触发您的路由。
如果您想模拟在不支持 pushState 的浏览器中发生的情况,您可以使用 Davis.js 检查支持的方式。这是在Davis.supported 函数中完成的。
您可以覆盖该函数以始终返回 false,这在不支持 pushState 的浏览器中通常会发生。如果您愿意,可以将其包装到 Davis.js 扩展中,以块 iOS 扩展为例。