2014-01-23 33 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不显示正确高度。

相关问题