Używam window.history.replaceState() do zmiany ciągu zapytania pliku HTML, do którego dostęp uzyskano przy użyciu pliku: /// C:/...Historia replaceState nie działa już w Chrome dla lokalnego pliku
To działało w Chrome, Internet Explorer i FireFox, ale nie działa już w Chrome. Nie wiem, kiedy przestało działać. Mam Chrome 45.0.2454.85. Nadal działa w pozostałych 2 przeglądarkach.
Dostaję:
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'.
Niestety, ale to nie działa w dowolnej obsługiwanej skrzypcach. Możesz skopiować kod do lokalnego pliku HTML, aby zobaczyć na własne oczy:
<html>
<body>
<button onclick="clickme()">Click me</button>
<script>
function clickme() {
window.history.replaceState({ "html": undefined, "pageTitle": "NewTitle"}, "", "?Q=NewQueryString");
}
</script>
</body>
</html>
Oczywiście mógłbym zorganizować to na serwerze, ale starał się zachować proste. To jest prosta tablica do gry na scrum, którą używamy hostowaną przez Gita. Uderza w usługę WWW innej firmy, aby uzyskać dane. Wszelkie pomysły dotyczące obejścia błędu.
jaka wersja, ponieważ dla mnie to działa –
Chrome 45.0.2454.85 nie działa dla mnie. – Mike
To jest pomieszane. Szkicuję wszystkie moje aplikacje jako lokalne pliki HTML w Chrome. Smutne, że to już nie działa z powodu jQuery Mobile wymagającego 'replaceState()'. –