ドメインwww.example.com
に<iframe>
のページtest.html
を持つsub.example2.com
のウェブページがあります。 test.html
には、別のドメインからのJavaScriptが含まれます。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
www.example.com
を開くと、そのJavaScriptのアクセス拒否エラーが表示されます。
その理由は何ですか?
これは、 「同じオリジン」セキュリティポリシー によるものです。
「同じオリジン」ポリシーは、あるウィンドウから別のウィンドウへのアクセスを制限します。
その背後にある理由はセキュリティです。 1つのウィンドウにblabla.comがあり、別のウィンドウにgmail.comがある場合、blabla.comのスクリプトがメールにアクセスまたは変更したり、Gmailのコンテキストでアクションを実行したりすることは望ましくありません。
Same Originポリシーの本質は次のように定式化できます。ウィンドウは、同じprotocol:// domain:portから、またはまもなく同じOriginからである場合にのみ、相互のコンテキストで機能します。