Javascript Chrome Security从本地文件系统加载jQuery移动页面时出错
当加载带有jQuery Mobile引用的简单html文件时,我在Chrome中遇到以下错误。仅jQuery引用不存在错误 未捕获的安全性错误:未能对“历史记录”执行“replaceState”: 无法创建URL为“”的历史状态对象 无法在源代码为“null”的文档中创建Javascript Chrome Security从本地文件系统加载jQuery移动页面时出错,javascript,jquery,google-chrome,jquery-mobile,Javascript,Jquery,Google Chrome,Jquery Mobile,当加载带有jQuery Mobile引用的简单html文件时,我在Chrome中遇到以下错误。仅jQuery引用不存在错误 未捕获的安全性错误:未能对“历史记录”执行“replaceState”: 无法创建URL为“”的历史状态对象 无法在源代码为“null”的文档中创建 临时解决方案:我已经注释掉了所有历史记录。jquery mobile中的replaceState调用,无论如何都不需要在我的应用程序中操纵浏览器历史记录 我想知道这是否是chrome的安全漏洞或模型以及未来的行为。此错误与来
临时解决方案:我已经注释掉了所有
历史记录。jquery mobile中的replaceState
调用,无论如何都不需要在我的应用程序中操纵浏览器历史记录
我想知道这是否是chrome的安全漏洞或模型以及未来的行为。此错误与来源为空的错误相同。发生此错误是因为Chrome的安全功能。 测试应用程序的一个简单解决方案是绕过chrome上的这种安全性 步骤:
注意:这只是我用来在桌面浏览器上测试cordova应用程序以进行UI测试的一种变通方法。在Mac上,我可以通过运行Web服务器而不是从“文件:/”url加载来解决此问题:
在该目录中,应该通过0.0.0.0从Chrome获得它,我似乎没有同样的问题,在Chrome的稳定版本(45)或开发版本(47)上没有
然而,我个人也看到了CORS标题的问题。如果您能够可靠地解决问题,我建议您在上提交一个bug,Chrome开发人员将对此进行检查。是的,我也有同样的想法,但我对更改代码持谨慎态度,尤其是在以后必须更新jQuery Mobile时。我想我可以向他们的小组提交一个功能请求,或者用一个黑客版本凑合一下。目前,我正在为dev使用web服务器。@t2n:不要修改核心jqm。请参考我的答案。只需在导入jqm之前添加一个脚本,它就可以工作!!如果JQM在运行之前检查一下就好了。是的,我在其他关于这个问题的讨论中看到过这个标志,但它并没有真正回答我的问题,为什么Chrome有一天开始产生错误,而它以前工作过。什么是“桌面浏览器”?@raduation browser for desktop OS,它是专为在台式计算机上运行(非独占)而设计的操作系统(将在笔记本电脑和其他一些兼容设备上运行)。与“手机浏览器”或“手机浏览器”等不同,是的,它在web服务器上运行良好。问题是为什么它不能在从本地文件系统加载的Chrome中工作。我同意,但当我在谷歌上搜索这个问题时,我想要一个快速而肮脏的解决方案,发现了这个问题,实际上没有任何有用的信息。希望它能帮助别人谢谢你的建议!可能重复的
python -m SimpleHTTPServer 8000