iframe结构里,父窗口怎么知道子窗口是否加载完毕呢?

我在一个父页面A里,有一个子页B,这个B是一个外部的网页。我需要在A里面判断B是否加载完成了,然后对它的一些元素进行调用。如果我可以改B的代码,我可以用onload通知A... 我在一个父页面A里,有一个子页B,这个B是一个外部的网页。

我需要在A里面判断B是否加载完成了,然后对它的一些元素进行调用。如果我可以改B的代码,我可以用onload通知A页面加载完成了,但是B不是属于我的网页,我不能修改它的代码。那么还有什么别的方法呢?

用setinterval去定时读B里的元素或许是一个方法,可是似乎比较笨……有没有好一点的类似onload的方法呢?
展开
 我来答
果然灵
2011-04-06 · TA获得超过217个赞
知道答主
回答量:96
采纳率:0%
帮助的人:70.3万
展开全部
我是gr0org。
上面的回答被白肚吃了。改不了,只好用小号。
attachEvent是为了兼容IE。
已有的iframe用getElementById取。
以下代码实测有效。
<iframe id="if" ></iframe>
<script language="javascript" type="text/javascript">
//var ifr = document.createElement("iframe");
var ifr = document.getElementById("if");
ifr.align='center';
ifr.marginwidth=1;
ifr.marginheight=1;
ifr.frameborder=0;
ifr.scrolling="No";
ifr.width =1007;
ifr.height=3800;
ifr.src = 'url';
if (ifr.attachEvent){
ifr.attachEvent("onload", function(){
alert("Local if is now loaded attachEvent.");
});
} else {
ifr.onload = function(){
alert("Local if is now loaded.");
};
}
追问
好吧,大概明白了……分加到你的大号上吧~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ai生火
推荐于2016-06-23 · TA获得超过5269个赞
知道大有可为答主
回答量:2109
采纳率:50%
帮助的人:1673万
展开全部
Nicholas C. Zakas 文章《Iframes, onload, and document.domain》的评论中 Christopher 提供了一个新的判断方法(很完美):
var iframe = document.createElement("iframe");
iframe.src = '你的url';
if (iframe.attachEvent){
iframe.attachEvent("onload", function(){
alert("Local iframe is now loaded.");
});
} else {
iframe.onload = function(){
alert("Local iframe is now loaded.");
};
}
document.body.appendChild(iframe);
更多追问追答
追问
谢谢~不过哦,
iframe.attachEvent("onload", function()
这句跟
iframe.onload
这样有什么区别么?
追答
这是为了浏览器兼容。IE在创建一个新的iframe时的onload方法需要使用attachEvent来绑定,而原来就存在的iframe的onload方法,则可以直接绑定。你把两个alert("Local iframe is now loaded.");的信息改成不一样的试试就知道了。IE打开的是前一个,FF打开的是后一个。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
螺财经
2011-04-04 · TA获得超过176个赞
知道答主
回答量:82
采纳率:0%
帮助的人:14.3万
展开全部
不能跨域
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式