我正在使用 window.history.replaceState() 更改使用 file:///C:/... 访问的 HTML 文件的查询字符串。
这曾经适用于 Chrome、Internet Explorer 和 FireFox,但不再适用于 Chrome。不确定它什么时候停止工作的。我有 Chrome 45.0.2454.85。它在其他 2 个浏览器中仍然有效。
我正进入(状态:
未捕获的安全错误:无法在“历史记录”上执行“replaceState”:
带有 URL 的历史状态对象
'file:///C:/Users/Michael/Desktop/test.html?Q=NewQueryString' 不能
在原点为“null”的文档中创建。
抱歉,但这在任何托管小提琴中都不起作用。您可以将代码复制到本地 HTML 文件中亲自查看:
<html>
<body>
<button onclick="clickme()">Click me</button>
<script>
function clickme() {
window.history.replaceState({ "html": undefined, "pageTitle": "NewTitle"}, "", "?Q=NewQueryString");
}
</script>
</body>
</html>
显然我可以将其托管在服务器上,但试图保持简单。这是我们使用的由 Git 托管的简单 Scrum 板。它通过第三方网络服务来获取数据。关于解决该错误的任何想法。
它在 Chrome 45 上停止工作。
这里我在code.google上填写了一个issue:https://code.google.com/p/chromium/issues/detail?id=529313
如果您只需要在自己的计算机上运行它,设置 --allow-file-access-from-files 是一个很好的解决方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)