引发SecurityError:操作是不安全的 - window.history.pushStat

2019-06-21 03:03发布

我得到在Firefox的控制台此错误: SecurityError: The operation is insecure和有罪的是HTML5功能: window.history.pushState()当我尝试加载与AJAX的东西。 它应该加载一些数据,但使用Javascript停止在错误执行。

我不知道为什么这可能会发生。 这是一些服务器错误配置? 任何帮助,将不胜感激。

更新:是的,它是与域名不匹配的服务器错误: http://en.wikipedia.org/wiki/Same-origin_policy

Answer 1:

请确保您遵循同源策略 。 这意味着相同的域,子域相同,相同的协议(http和https)和相同的端口。

如何pushState的防止潜在的内容伪造?

编辑:由于@robertc恰当地在他的评论中指出,一些浏览器真正实现略有不同的安全策略时,原产地是file:/// 。 且不说与本地测试时,可能会遇到问题file:///当页面期望它是根据不同来源运行(所以你pushState假定生产产地的情况,不是localhost的情况)



Answer 2:

我们经历过的SecurityError:当用户关闭了Cookie之前访问我们的网站,尝试使用该会话的任何后续XHR请求显然会失败并导致该错误的操作是不安全的



Answer 3:

在我来说,我失踪的“www。” 从URL我推。 它必须是精确匹配,如果你在工作www.test.com ,必须推到www.test.com ,而不是test.com



Answer 4:

你应该尽量不要打开该文件与文件夹资源管理器的方法(即file:// ),但打开该文件http:// (即http://yoursite.com/http://localhost/



Answer 5:

我有同样的问题被称为从文件中其他JavaScript文件时,没有把JavaScript的“物理”地址。 我解决它通过调用它从HTML同样的方式,例如:“JS / archivo.js”,而不是“archivo.js”



Answer 6:

当创建一个PWA,一个非HTTPS服务器上使用的服务人员也会产生这个错误。



文章来源: SecurityError: The operation is insecure - window.history.pushState()