6

jQuery を含む iframe コンテンツがあり、iframe のコンテンツの jQuery 部分が IE で機能しません (jQuery を使用しない部分は正常に機能し、Chrome と Firefox ではすべて正常に機能します)。

コードは次のとおりです。

<!DOCTYPE html>
<html>
<head>
    <title>iframe content</title>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
    <h1>This heading is showing up just fine.</h1>
    <div id="jQuery-generated-content">
           <!-- content dynamically generated by jQuery plugin This part is not showing in iframe in IE -->
    </div>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js">   </script>
    <script src="pathTojQueryPlugin.js"></script>
    <script type="text/javascript">
        jQuery.codeToInitiatePlugin
    </script>

</body>
</html>

bodyタグの直後に、相対パスと絶対パスの両方を使用してjQueryコードをヘッドに挿入しようとしましたが、うまくいきませんでした。これに対する回避策、または IE が jQuery を読み取れない原因を誰かが知っていれば、非常にありがたいです。

前もって感謝します!

4

4 に答える 4

5

私も少し前に同じ問題に遭遇しました。この問題は、IE が iframe 内から jquery ライブラリにアクセスできず、jquery コードを読み取ることができないために発生します。唯一の回避策は、jquery コードを JavaScript に変換することです。

アップデート:

別のバージョンの jQuery を使用すると、問題を解決することもできます。または、別の jQuery ライブラリを代わりに使用することもできます。

于 2013-06-30T07:12:09.013 に答える
4

別のSOの質問から:

これは正当な jQuery 1.10.1 のバグです: http://bugs.jquery.com/ticket/13980

ソース

私の場合、使用...

<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>

..問題を解決しました。また、たまたま親ページと同じバージョンでした (Avigon に感謝)。

于 2014-07-22T21:45:35.317 に答える
3

これに対する実際の答えは、hotate17 がコメントで述べているように、彼/彼女が CDN (この場合は Google の CDN) から jQuery アセットを読み込んでいたということです。同じサーバーから jQuery アセットをロードし、iFrame ソースと同じ URL をロードすることで、彼と私の問題も解決しました。hotate17 に感謝します。

http://www.sandiegosoftware.net/blog/script5-access-is-denied-error-in-internet-explorer-loading-jquery/

于 2013-10-11T02:57:45.360 に答える
3

おそらく、あなたはすでにこれを別の方法で解決していますが、他の誰かがこの投稿を見つけた場合に備えて.

これは、特定の場合に役立つ小さな「トリック」です。
jQuery を使用する前に、iframe 内にこれを追加します。

if (window.jQuery) { 
   jQuery = window.jQuery; 
   $ = window.jQuery; 
}

ただし、iframe を含むページには jQuery が必要です。(そしてできれば同じバージョン)

于 2013-10-08T05:49:50.020 に答える