2013-06-30 11 views
6

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

は、ここでは、コードは次のとおり

<!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を読まない原因になっていると大変感謝しています。

ありがとうございます!

+0

iframeではなくページを通常読み込むと機能しますか? – Barmar

+0

これはiframeのコードですか? – raam86

+1

はい、iframeの内容ではなくページを通常読み込むと動作します。 – hotate17

答えて

5

同じ問題が発生しました。この問題は、IEがiframe内からjqueryライブラリにアクセスできず、jqueryコードを読み取れないために発生します。唯一の議論は、jQueryコードをjavascriptに変換することです。

更新:

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

+1

またはiframeに含める... – raam86

+2

jqueryライブラリを含めても役立たないでしょう...私はそれを試みました。あなたも試してみることができます – Sid

+0

コメントSidのおかげで。しかし、この特定のケースでは、jQueryを使用する必要があります。これは、iframe内で使用しているjQueryプラグインが必要なため、必要な正確な機能と機能があります。そして、私にとって同様のことを書いたり、JavaScriptの機能や効果を再現するのは難しいです... – hotate17

3

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

特定のケースで役立つかもしれない小さな「トリック」があります。
はjQueryのを使用する前に、この内部のiframeを追加します。

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

インラインフレームを含むページがjQueryのを持っている必要がありますが。

4

これは合法的なjQueryの1.10.1バグがある:http://bugs.jquery.com/ticket/13980。私の場合は

Source

、使用して...

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

は、問題を..solved。親ページと同じバージョンだったのです(Avigonに感謝します)。

関連する問題