68

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

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

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

4

10 回答 10

46

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

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

编辑:正如@robertc 在他的评论中恰当地指出的那样,一些浏览器在原点为file:///. 更不用说file:///当页面期望它从不同的来源运行时在本地测试时会遇到问题(因此您pushState假设生产来源场景,而不是本地主机场景)

于 2012-11-12T17:52:31.950 回答
12

我们遇到了SecurityError: The operation is insecure当用户在访问我们的站点之前禁用了他们的 cookie 时,任何尝试使用会话的后续 XHR 请求显然会失败并导致此错误。

于 2016-02-12T07:28:33.510 回答
4

就我而言,我错过了“www”。从我推的网址。它必须是完全匹配的,如果你正在工作www.test.com,你必须推送www.test.com而不是test.com

于 2013-12-22T18:33:18.613 回答
4

您应该尝试不使用文件夹资源管理器方法(即file://)打开文件,而是从http://(即http://yoursite.com/http://localhost/)打开该文件

于 2014-06-04T16:10:54.290 回答
1

当我从一个文件中调用另一个 javascript 文件而不放置 javascript“物理”地址时,我遇到了同样的问题。我通过从 html 中以相同的方式调用它来解决它,例如:“JS / archivo.js”而不是“archivo.js”

于 2015-02-19T17:27:28.423 回答
1

创建 PWA 时,在非 https 服务器上使用的 service worker 也会生成此错误。

于 2018-06-12T06:38:30.600 回答
1

我在 ReactJS 历史推送中遇到了这个问题,结果我试图打开//link(用双斜杠)

于 2020-11-18T23:12:21.270 回答
0

将 index.js 文件中的 serviceWorker.unregister() 替换为 serviceWorker.register()

于 2019-12-30T17:31:01.733 回答
0

我通过http从协议切换到协议来解决它file

  • 你可以在 VS 代码中使用“live-server”扩展,
  • 或者,在节点上,使用live-server [dirPath]
于 2020-10-22T08:16:54.400 回答
0

我遇到了同样的问题,这是由设置<base href=>为裸域引起的,而我的服务器始终为 www 域提供服务。将 www 添加到 urlbase href解决了这个问题。

于 2021-03-12T08:20:45.017 回答