Uncaught SecurityError: не удалось выполнить 'replaceState' в 'History': не может быть создан в документе с исходным кодом 'null'
Я действительно не получаю эту ошибку chrome:
Uncaught SecurityError: не удалось выполнить 'replaceState' в 'History': невозможно создать в документе с исходным кодом 'null'
В Edge, Firefox и IE нет ошибок.
Я использую jquery 1.11.1 и jquery mobile 1.4.5.
Это мой индексный файл:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="css/xy.min.css" />
<link rel="stylesheet" href="css/jquery.mobile.icons.min.css" />
<link rel="stylesheet" href="css/jquery.mobile.structure-1.4.5.min.css" />
<title></title>
</head>
<body>
<div data-role="page">
<div data-role="header" data-add-back-btn="true">
<p align="center">Test</p>
</div>
<ul data-role="listview" data-filter="true" data-filter-placeholder="Kategorie suchen" data-inset="true" data-count-theme="b">
<li><a href="assets/beck/index.html" data-rel"dialog" rel ="external">Bäckereien </a></li>
</ul>
</div>
<script src="js/jquery-1.11.1.min.js"></script>
<script src="js/jquery.mobile-1.4.5.min.js"></script>
</body>
</html>
Любая помощь очень ценится!
Ответы
Ответ 1
Добавьте это:
<script>
$(document).bind('mobileinit',function(){
$.mobile.changePage.defaults.changeHash = false;
$.mobile.hashListeningEnabled = false;
$.mobile.pushStateEnabled = false;
});
</script>
Как раз перед jquery.mobile-1.4.5.min.js
Это работает с Android WebViewClient и Chrome в Windows.
Ответ 2
Решение для меня состояло в том, что я должен запустить веб-сервер. Это новая функция защиты хрома и не будет изменена согласно сообщению Chromium Bug Post.
Спасибо А. Вольфу!
Ответ 3
Это также может быть вызвано Turbolinks (HTML pushState) при работе с локальным HTML файлом.