无法执行' replaceState'在'历史'无法在包含来源' null'

时间:2015-09-09 13:43:48

标签: javascript jquery html google-chrome jquery-mobile

我正在为转换创建一个页面。

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

显示错误:

  

Uncaught SecurityError:无法执行' replaceState'关于'历史':   一个带有URL'文件的历史状态对象:/// C:/Users/athite/Desktop/DEMO/page.html'无法在原文为' null'。**

的文档中创建

这是我的代码:

<!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>

1 个答案:

答案 0 :(得分: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>