68

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

なぜこれが起こっているのか疑問に思っています。これはサーバーの設定ミスですか? どんな助けでも大歓迎です。

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

4

10 に答える 10

46

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

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

編集: @robertc がコメントで適切に指摘したように、オリジンがfile:///. 言うまでもなく、ローカルでテストするとfile:///、ページが別のオリジンから実行されていると予想される場合に問題が発生する可能性があります (したがって、pushStatelocalhost のシナリオではなく、本番のオリジンのシナリオを想定しています) 。

于 2012-11-12T17:52:31.950 に答える
4

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

于 2014-06-04T16:10:54.290 に答える
1

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

于 2015-02-19T17:27:28.423 に答える