Ich verwende window.history.replaceState(), um die Abfragezeichenfolge einer HTML-Datei zu ändern, auf die mit file: /// C:/...Verlauf replaceState funktioniert nicht mehr in Chrome für lokale Datei
zugegriffen wurdeDies funktioniert in Chrome, Internet Explorer und FireFox, funktioniert aber nicht mehr in Chrome. Nicht sicher, wann es aufgehört hat zu arbeiten. Ich habe Chrome 45.0.2454.85. Es funktioniert immer noch in den anderen 2 Browsern.
Ich erhalte:
Uncaught SecurityError: Failed to execute 'replaceState' on 'History': A history state object with URL 'file:///C:/Users/Michael/Desktop/test.html?Q=NewQueryString' cannot be created in a document with origin 'null'.
Sorry, aber das funktioniert nicht in jeder gehosteten Geige. Sie können den Code auf eine lokale HTML-Datei kopieren Sie es für sich selbst zu sehen:
<html>
<body>
<button onclick="clickme()">Click me</button>
<script>
function clickme() {
window.history.replaceState({ "html": undefined, "pageTitle": "NewTitle"}, "", "?Q=NewQueryString");
}
</script>
</body>
</html>
Offensichtlich ich diese auf einem Server hosten könnte aber versuchte, einfach zu halten. Dies ist ein einfaches Scrum-Board, das von Git gehostet wird. Es trifft einen Webservice eines Drittanbieters, um die Daten zu erhalten. Irgendwelche Ideen zum Umgehen des Fehlers.
welche Version, denn für mich funktioniert das –
Chrome 45.0.2454.85 funktioniert nicht für mich. – Mike
Das ist durcheinander. Ich skizziere alle meine Apps als lokale HTML-Dateien in Chrome. Leider funktioniert dies nicht mehr, da jQuery Mobile 'replaceState()' benötigt. –