2014-01-23 63 views
0

我開發了Web應用程序A,需要通過IFrame從Web應用程序B中調用。我被迫這樣做,因爲應用程序B是第三方,我沒有它的源代碼。IE 9拋出「Error:'jQuery'未定義」當從iFrame中啓動時

在IE 9中一切正常,直到我開始使用IFrame。它給我的錯誤:

'jQuery' is undefined.

這不會在Firefox或Chrome發生。我已經通過IE的調試器驗證了jquery-ui-1.10.3文件正在被拉入。

我該如何解決這個問題?

+0

在IE中使用iFrames確實是一門黑暗藝術。 – Gjohn

+1

我猜你正遇到跨域問題。如果您從另一個域名中調用第三方應用程序,那麼您擁有的jQuery將在您的頁面上工作,但我相信它會受到影響iframe內容的限制。 –

+0

但同樣的解決方案在Chrome和Firefox中工作正常(至今)。 – Sean

回答

0

您可能使用的是具有影響IE和Opera的bug的jQuery 1.10.1。該錯誤導致jquery在與父頁面不同的iframe中使用時出錯。升級到最新版本的jquery(1.10.2或1.11+)將解決它。

編號:http://bugs.jquery.com/ticket/13980

的jQuery 2.0.2也受這個錯誤,並固定在2.0.3

+0

我正在使用jquery-2.0.3和jquery-ui-1.10.3 – Sean

+0

而且你已經在調試器中驗證了jquery 2.0.3正在加載?你在調試器中看到任何其他錯誤嗎? –

0

的問題是,IE的「文件模式」設置爲IE7標準。我沒有意識到在IE中有一個「文檔模式」,我當然不記得從9開始設置它到IE7。

無論如何,現在我有一個相關的問題,即iFrame不顯示正確高度。

相關問題