file:/// C:/ ...を使用してアクセスされたHTMLファイルのクエリ文字列を変更するには、window.history.replaceState()を使用しています。履歴replaceStateがローカルファイル用にChromeで動作しなくなった
これはChrome、Internet Explorer、FireFoxで動作していましたが、Chromeでは動作しません。それが動作を停止したときはわかりません。私はChrome 45.0.2454.85を持っています。他の2つのブラウザでも動作します。
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'.
申し訳ありませんが、これは任意のホストされたバイオリンでは動作しません:
私は取得しています。あなたは自分自身でそれを見るためにローカルのHTMLファイルにコードをコピーすることができます。
<html>
<body>
<button onclick="clickme()">Click me</button>
<script>
function clickme() {
window.history.replaceState({ "html": undefined, "pageTitle": "NewTitle"}, "", "?Q=NewQueryString");
}
</script>
</body>
</html>
もちろん、私は、サーバー上でこれをホストする可能性がありますが、単純な維持しようとしました。これは、Gitによってホストされているシンプルなスクラムボードです。データを取得するためにサードパーティのWebサービスにヒットします。エラーを回避するためのアイデア。
私のために働いているので –
Chrome 45.0.2454.85は私のために働いていません。 – Mike
これはうんざりです。私はすべての自分のアプリケーションをChromeのローカルHTMLファイルとして描いています。これは、 'replaceState()'を必要とするjQuery Mobileのためにもう動作しません。 –