关于chrome浏览器打不开编写的jquery mobile—报错“ cannot be created in a document with origin 'null'.”

本文介绍了一个在使用Chrome浏览器测试包含IndexedDB的应用时遇到的问题及解决方案。由于Chrome的安全限制,作者遇到了无法打开页面的错误。通过修改jQuery Mobile的设置禁用了页面历史记录功能,成功解决了这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

想用HMLT5+CSS3+jQuery Mobile写一个小应用。一直是放在火狐浏览器和opera模拟器模拟的手机浏览器里测试,也利用cordova生成了APP在安卓系统上跑了一下,看了看效果,一切都正常。

最近想完善应用的数据储存方面的功能,决定用IndexedDB来储存数据,冲着Chrome上可以查看各种数据的情况,便开始用Chrome测试。但是奇怪的事发生了,Chrome怎么都打不开网页,提示我如下错误,并且一直在转圈圈。



提示:

Uncaught SecurityError: Failed to execute 'replaceState' on 'History': A history state object with URL 'file:///C:/Users/%E5%90%9B%E6%80%A1/Desktop/my_own_HTML/Demo/index.html' cannot be created in a document with origin 'null'.

起初随便搜了下,也没见着什么解决方法,就搁置了,但是其他浏览器实在不方便学习IndexedDB,还是去找了解决的方法。

在这个国外的网站看到了一些解决方法,并且照做后我的问题也解决了,听说是因为Chrome的安全机制给害的。国外论坛。

简而言之就是在jquery.mobile-1.4.5.min.js(jqmb的js代码)或者引用的相关SDN前面加上以下的代码,一切都迎刃而解了。

    <script>
    $(document).bind('mobileinit',function(){
        $.mobile.changePage.defaults.changeHash = false;
        $.mobile.hashListeningEnabled = false;
        $.mobile.pushStateEnabled = false;
    });
    </script>

望共勉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值