我们的网络应用程序(基于HTML5,SVG和JS)在除谷歌浏览器之外的所有浏览器中运行良好。
在谷歌浏览器中,正常的javascript事件运行正常,但是,附加到iFrame的所有javascript事件都不会执行。我们在控制台中收到错误:
Unsafe JavaScript attempt to access frame
目前,应用程序已在本地托管,并且在内部测试期间出现此问题。
谷歌搜索引发了很多帖子,但没有提出任何具体的解决方案。有什么建议吗?
答案 0 :(得分:16)
作为一项额外的安全措施,Chrome会将每个“文件”路径视为自己的来源,而不是将整个“文件”方案视为单一来源(这是其他浏览器所做的)。此行为仅适用于“文件”网址,您可以通过在启动时传递 - allow-file-access-from-files 开关,强制Chrome恢复为单个本地源(与其他浏览器一样) 。
您可以在此处找到有关与本地来源相关的风险的更多信息:http://blog.chromium.org/2008/12/security-in-depth-local-web-pages.html
答案 1 :(得分:4)
请确保iframe和主页都使用相同的协议(即https或两者都是http,但不是混合)并且位于同一个域(即www.example.com而不是example.com和dev.example.com)。还有可能某些东西试图使用file://协议,这也会导致此消息。