SecurityError:操作不安全 - window.history.pushState()

Ata*_*adj 49 javascript url html5 history pushstate

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

我想知道为什么会这样.这是一些服务器配置错误吗?任何帮助,将不胜感激.

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

Mat*_*att 38

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

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

编辑:正如@robertc在他的评论中恰当地指出的那样,一些浏览器实际上在原点时实现了略微不同的安全策略 file:///.更不用说在本地测试时,file:///当页面期望它从不同的源运行时,您可能会遇到问题(因此您pushState假设生产源方案,而不是localhost方案)

  • 然后如何将`pushState`与`file:///`一起使用? (4认同)

oli*_*her 8

我们遇到了SecurityError:当用户在访问我们的站点之前禁用了cookie时,操作是不安全的,任何后续尝试使用会话的XHR请求都会明显失败并导致此错误.


Flo*_*Flo 5

就我而言,我缺少“www”。从我推送的网址。它必须是完全匹配的,如果你正在处理www.test.com,你必须推动www.test.com而不是test.com


T.T*_*dua 5

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