2015-09-08 29 views
31

Io davvero non si ottiene questo errore chrome:Uncaught SecurityError: Impossibile eseguire 'replaceState' su 'Storia': non può essere creato in un documento di origine 'null'

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

in bordo, Firefox e IE nessun errore.

Io uso jquery 1.11.1 e jquery mobile 1.4.5.

Questo è il mio file di indice:

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

Qualsiasi aiuto molto apprezzato!

+0

Senza il tuo codice Javascript, non saremo in grado di aiutarti molto ... – D4V1D

+0

@ D4V1D Non ho cambiato jquery, lo ho appena caricato. – olivier

+0

Stai eseguendo un server web (localmente o meno)? –

risposta

61

Aggiungere questo:

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

Poco prima jquery.mobile-1.4.5.min.js

che funziona con Android WebViewClient e Chrome su Windows.

+0

Grazie per questo script. Avevo paura che la mia app per Android sarebbe diventata inutilizzabile (usando Webview solo con file locale) – AxelH

+2

Sì, dopo mesi di lavoro, posso riguardare questa sensazione. Speriamo che non cambino nient'altro. – eFMer

+6

Ho trovato che ho bisogno di '$ .mobile.pushStateEnabled = false;' nello script – BluGeni

25

La soluzione per me era che devo eseguire un server web. È una nuova funzionalità di sicurezza di Chrome e non verrà modificata secondo Chromium Bug Post.

Grazie a A. Wolff!

+1

dove dice che questo bug non verrà riparato? Ho trovato i seguenti problemi che sono ancora aperti - https://code.google.com/p/chromium/issues/detail?id=528681 – zumek

+1

Il mio problema è stato risolto quando lo eseguo in Firefox .. :-) –

+2

più veloce e il modo più semplice per farlo è: python -m SimpleHTTPServer 8080 –

0

Questo può essere causato anche da Turbolinks (HTML pushState) quando si lavora con un file HTML locale.