2015-09-08 7 views
31

я действительно не получаю эту хромированную ошибку:Uncaught SecurityError: Не удалось выполнить «replaceState» на «История»: не может быть создан в документе с началом «нулевой»

Uncaught SecurityError: Failed to execute 'replaceState' on 'History': cannot be created in a document with origin 'null'

В Краю, 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> 

Любая помощь очень ценится!

+0

Без вашего кода Javascript мы не сможем вам помочь ... – D4V1D

+0

@ D4V1D Я не менял jquery, я просто загрузил его. – olivier

+0

Вы используете веб-сервер (локально или нет)? –

ответ

61

Добавить это:

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

+0

Спасибо за этот скрипт. Я боялся, что мое приложение для Android станет бесполезным (используя Webview только с локальным файлом) – AxelH

+2

Да, после нескольких месяцев работы я могу связать это чувство. Надеюсь, они ничего не изменит. – eFMer

+6

Я нашел, что мне нужен только '$ .mobile.pushStateEnabled = false;' в скрипте – BluGeni

25

Решение для меня состояло в том, что мне нужно запустить веб-сервер. Это новая функция защиты хрома и не будет изменена в соответствии с Chromium Bug Post.

Благодаря A. Wolff!

+1

, где говорится, что эта ошибка не будет исправлена? Я обнаружил следующие проблемы, которые все еще открыты - https://code.google.com/p/chromium/issues/detail?id=528681 – zumek

+1

. Моя проблема была решена, когда я запускаю ее в Firefox .. :-) –

+2

самый быстрый и Самый простой способ сделать это: python -m SimpleHTTPServer 8080 –

0

Это также может быть вызвано Turbolinks (HTML pushState) при работе с локальным файлом HTML.

Смежные вопросы