sto usando window.history.replaceState() per modificare la stringa di query di un file HTML che si accede tramite file: /// C:/...Storia replaceState non funziona più in Chrome per file locale
Questo funzionava su Chrome, Internet Explorer e FireFox, ma non funziona più su Chrome. Non sono sicuro quando ha smesso di funzionare. Ho Chrome 45.0.2454.85. Funziona ancora negli altri 2 browser.
sto ottenendo:
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'.
Ci dispiace, ma questo non funziona in alcun violino ospitato. È possibile copiare il codice in un file HTML locale per vedere di persona:
<html>
<body>
<button onclick="clickme()">Click me</button>
<script>
function clickme() {
window.history.replaceState({ "html": undefined, "pageTitle": "NewTitle"}, "", "?Q=NewQueryString");
}
</script>
</body>
</html>
Ovviamente ho potuto ospitare questo su un server, ma stava cercando di mantenere semplice. Questa è una semplice lavagna che stiamo usando ospitata da Git. Colpisce un servizio web di terzi per ottenere i dati. Qualche idea su come aggirare l'errore.
quale versione, perché per me questo funziona –
Chrome 45.0.2454.85 non funziona per me. – Mike
Questo è incasinato. Schizzo tutte le mie app come file HTML locali in Chrome. Triste per vedere questo non funziona più a causa di jQuery Mobile che richiede 'replaceState()'. –