为什么IE不支持在现有应用程序中使用的iFrame js和css文件

时间:2012-06-24 17:48:05

标签: javascript jquery internet-explorer cross-browser cross-domain

在我们的Web应用程序中,我们提供了多个小应用程序。让我们说A,B,C。 “A”使用Jquery1.4版本。哪个版本非常成功。他们开发了几种组件。

所以,我们团队“B”也想使用相同的组件和jquery版本。如果他们A改变了,我们需要相应地改变。 目前我们正在使用iFrame,因为有时我们需要访问“A”应用程序。现在,我们可能不会改为Iframe概念。

因此,使用Iframes,我们想要使用Project A的Js和CSS文件。 文件已成功加载。但我们无法访问Js方法和CSS属性。

让我们举例: - >

我试图使用Jquery方法访问任何类,

$(" .ap-bar-section-Accounts")[2].click();

根据评论,我为iFrame jquery url添加了脚本标记

<script type="text/javascript" src="A's location of jquery></script>

但是,我收到错误“$”未定义。但是,如果我看到IE调试器工具,我可以看到加载Jquery文件。 可能是什么原因。如果您需要任何进一步的细节,请告诉我。在firefox和mozilla中使用相同的代码

根据评论, 我确认两台服务器只与https相关。

1 个答案:

答案 0 :(得分:0)

您的示例代码无效jQuery

 $(" .ap-bar-section-Accounts")[2]// returns DOM node

应该是

 $(".ap-bar-section-Accounts").eq(2).click();

在将任何代码绑定到父页面的iFrame事件之前,请确保iFrame已加载

$(function(){
    var $frame=$('#iframeId');
    $frame.load(function(){
         $frameBody= $(this).contents().find('body');
         $frameBody.find$(".ap-bar-section-Accounts").eq(2).click();
    });
})