2011-10-19 122 views
6

我有一個小書籤,它將一個div加載到當前頁面中,並在其中放置一個iframe。小書籤在除IE9以外的所有瀏覽器中都像夢一樣。甚至可以在早期版本的IE中使用。

我用下面的書籤框架:

http://idc.anavallasuiza.com/project/bookmarklets 

另外一個人在這裏也有類似的問題(不涉及小書籤):

https://forum.jquery.com/topic/retrieved-html-data-type-with-jquery-ajax-in-ie9-scripts-tags-sources-could-not-be-loaded 

到目前爲止,我的理解是,我的小書籤的jQuery在IE9中沒有正確加載。

小書籤嘗試加載自己的jQuery,因此某些特效可以在小書籤初始化時運行,並且易於編程。

iFrame頁面也加載jQuery(沒有它的iframe中的內容無法正常工作)。

我使用了最新的jQuery:

http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js 

我想知道爲什麼IE9導致在沒有其他的瀏覽器做這些腳本錯誤?爲什麼jQuery不能在IE9中正確加載?

任何有識之士將不勝感激。

回答

6

我剛剛花了一些時間與這個問題摔跤,最後找到了一個解決方案,我認爲會幫助你。

下面的代碼的簡化版本,引起的問題對我來說:

$frames = $(*html_including_frames_here*); 
$div = $('<div></div>'); 
$div.append($frames); 
$('body').append($div); 

**加載一個或多個幀到一個div,這不是在DOM中,然後裝入該分區到DOM導致所有在我的情況下的問題。這些框架不會像他們應該加載的JS腳本,然後一切(jQuery,JSON等)都是未定義的。

此,在另一方面,工作原理:

$frames = $(*html_including_frames_here*); 
$div = $('<div></div>'); 
$('body').append($div); 
$div.append($frames); 

這裏唯一的區別是,我第一次把股利在DOM中,然後裝入幀進去。不知何故,使所有的差異。

+1

Man ...非常感謝! 我在很多方向拍攝,只關於IFrame,我沒有想到。我有不同的DOM,但仍然按順序和iframe打印到頁面,產生了這個錯誤。 因此,直到現在iframe已經使用JQ構建,現在它的硬編碼,我用jq處理它的src代碼。這消除了我的錯誤。 謝謝你給我展示的方式:) – neoswf

+1

高興地幫忙!我爲此努力奮鬥,很高興我能爲你節省一些時間。請接受答案,以便其他人可以認識到它是合法的。 :)編輯:我以爲你是原始的海報。哎呀 –

1

感謝您的問題,我有同樣的問題。我第一次修復了從jquery.com加載jquery(http://code.jquery.com/jquery-1.7.1.js)的問題。然後IE9加載它。也許微軟阻止了一些google-apis?非常有趣...

+0

如果你想總是最新的jQuery版本嘗試http://code.jquery.com/jquery-latest.min.js – algorhythm

+0

或http://ajax.microsoft.com/ajax/jquery/jquery-1.7.1 .min.js – algorhythm

相關問題