无法在'历史'上执行'replaceState'<local_URL>无法在原点为'null'的文档中创建

Lea*_*ner 6 html javascript jquery google-chrome jquery-mobile

我正在为过渡创建一个页面.

点击页面导航到另一个页面 - 适用于Firefox,但不适用于Chrome.

错误显示:

未捕获的SecurityError:无法在"历史记录"上执行"replaceState":无法
在包含origin的文档中创建URL为"file:/// C:/Users/athite/Desktop/DEMO/page.html"的历史状态对象空值'.**

这是我的代码:

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script> 
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
</head>
<body>

<div data-role="page" id="pageone">
  <div data-role="header">
    <h1>Welcome To My Homepage</h1>
  </div>

  <div data-role="main" class="ui-content">
    <p>Click on the link to see the slide effect.</p>
    <a href="#pagetwo" data-transition="slide">Slide to Page Two</a>
  </div>

  <div data-role="footer">
    <h1>Footer Text</h1>
  </div>
</div> 

<div data-role="page" id="pagetwo">
  <div data-role="header">
    <h1>Welcome To My Homepage</h1>
  </div>

  <div data-role="main" class="ui-content">
    <p>Click on the link to go back. </p>
    <a href="#pageone" data-transition="slide" data-direction="reverse">Go to Page One</a>
  </div>

  <div data-role="footer">
    <h1>Footer Text</h1>
  </div>
</div> 

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Nis*_*hia 16

问题出现在 jquery.mobile-1.4.5.min.js:3

解:

在导入之前添加此脚本,如下所示:

<script>
    $(document).bind('mobileinit',function(){
        $.mobile.pushStateEnabled = false;
    });
</script>
<script type="text/javascript" src="js/jquery.mobile-1.4.5.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

  • 这解决了这个问题.但是,移动应用程序上使用的主题现在搞砸了.知道是什么根本原因吗? (2认同)