シナリオ: A.com のページ A には、B.com のページ B を含む IFrame があります。ページ B は jQuery 1.10.1 を使用しており、ページ A と通信する必要はありません。
この事実にもかかわらず、IE9 および IE10 では、jQuery は「SCRIPT5: アクセスが拒否されました」を生成します。エラーが発生し、jQuery の実行をまったく拒否しているようです。クロスドメイン通信や AJAX リクエストなどは必要ありませんが、ページ B でエラーなくロードして実行するには jQuery が必要です。
IE9 および IE10 でこのエラーが表示されないようにする (およびコードの実行を禁止する) 方法はありますか? (参考までに、他のブラウザも同様に「アクセス拒否」エラーを生成しますが、コードの実行を妨げることはありません)
アップデート:
jsFiddle: http://jsfiddle.net/86q5k/4/
ホスト ページの内容は次のとおりです (jsFiddle から)。
<iframe src="http://endorkins.com/test-iframe.html"></iframe>
iFrame ページのコンテンツは次のとおりです。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
console.log('Hello! Congratulations. Your browser is neat, and doesn\'t sniff glue! (http://bit.ly/12QTvTT)');
});
</script>
</head>
<body>
</body>
</html>
Chrome での結果 (コンソールのメッセージに注意してください):
結果は IE 9.0.8112 になります (コンソールのメッセージが省略されていることに注意してください):