2013-06-30 100 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> 

我試圖在頭插入用jQuery代碼,在body標籤之後,有相對和絕對路徑,但沒有運氣。我將不勝感激,如果有人知道任何解決這個或什麼導致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; 
} 

但是包含頁面的iframe必須有jQuery的。 (並且最好是相同的版本)

4

從另一個SO問題:

這是一個合法的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)。