web-dev-qa-db-ja.com

SecurityError:操作は安全ではありません-window.history.pushState()

FirefoxのコンソールでSecurityError: The operation is insecureというエラーが表示されます。AJAXで何かを読み込もうとすると、罪があるのはHTML5機能です:window.history.pushState()です。一部のデータをロードすることになっていますが、エラーが発生するとJavascriptの実行が停止します。

なぜこれが起こっているのだろうかと思っています。これはサーバーの設定ミスですか?任意の助けをいただければ幸いです。

更新:はい、ドメイン名が一致しないサーバーエラーでした: http://en.wikipedia.org/wiki/Same-Origin_policy

47
Atadj

Same Origin Policy に従っていることを確認してください。これは、同じドメイン、同じサブドメイン、同じプロトコル(http vs https)および同じポートを意味します。

pushStateは潜在的なコンテンツの偽造からどのように保護しますか?

編集:@robertcが彼のコメントで適切に指摘したように、Originがfile:///である場合、一部のブラウザーは実際にわずかに異なるセキュリティポリシーを実装します。言うまでもなく、file:///を使用してローカルでテストすると、ページが異なるOriginから実行されていると予想される場合に問題が発生する可能性があります(したがって、pushStateはlocalhostシナリオではなく、本番Originシナリオを想定しています)

36
Matt

SecurityError:The operation is insecureユーザーがサイトにアクセスする前にCookieを無効にした場合、セッションを使用しようとする後続のXHRリクエストは明らかに失敗し、このエラーが発生します。

8
oliverguenther

フォルダーエクスプローラーメソッド(つまりfile://)でファイルを開かないで、http://http://yoursite.com/からのhttp://localhost/)からファイルを開いてください。

3
T.Todua

私の場合、「www」が見つかりませんでした。私が押していたURLから。完全に一致する必要があります。www.test.comで作業している場合は、www.test.comではなくtest.comにプッシュする必要があります

3
Flo

Javascriptの「物理」アドレスを指定せずにファイルから別のjavascriptファイルを呼び出すと、同じ問題が発生しました。 HTMLから同じ方法で呼び出すことで解決しました。例:「archivo.js」ではなく「JS/archivo.js」

1
hectorpyco

PWAの作成時に、https以外のサーバーで使用されるサービスワーカーもこのエラーを生成します。

1
Dror