我怎么知道iframe / popup内容已加载/准备好了?

时间:2012-11-04 18:07:05

标签: javascript jquery html dom

我有两个问题:

  • 我如何知道框架内容已准备好/已加载(如$(document.ready()))?

  • 如何知道弹出窗口(window.open())内容已准备好/已加载($(document.ready()))?

谷歌表示可以帮助$("iframe").load(),但我不明白

2 个答案:

答案 0 :(得分:2)

DEMO - iframe

使用load()的问题是iframe可能在jQuery运行之前已经加载,因此不会触发该函数。解决这个问题的一种方法是最初在iframe中加载任何内容(about:blank),然后使用jQuery更改src属性以使iframe指向所需的位置。

DEMO - window.open(禁用此演示的弹出式窗口拦截器。)

我不确定ready()是否可以跨域使用。在同一个域上加载弹出窗口/ iframe时,可以使用子页面上的脚本向父窗口报告它已“准备就绪”。

答案 1 :(得分:1)

加载iFrame时将调用加载回调:

$("#iframe-id").load(function(){
    //The iFrame content is loaded
})