JS函数执行顺序

时间:2011-02-09 12:49:54

标签: javascript xhtml

我有两个页面,即Parent.xhtml(控制布局)和Child.xhtml(显示内容)。子页面使用<iframe>标记包含在父页面中。

我需要使用javascript实现onload功能。在此之前,我想知道javascript函数将以哪种顺序执行?

父页面js函数会先执行吗?或者子页面js函数会先执行吗?

等待你的答案。提前致谢

1 个答案:

答案 0 :(得分:0)

根据previous answer,浏览器可能不会在父窗口上触发onload事件之前等待加载iframe。你无法假设哪一个会先完成 - 那里有可能出现竞争条件,所以任何一个都可以先完成。

一种解决方案可能是编写一个等待直到在执行之前被调用一定次数的函数:

var runs = 0;
function onLoad() {
    if (++runs < 2) return;
    // put code to execute once both have loaded
}

然后在HTML中:

<body onload="onLoad();">
    .....
    <iframe onload="onLoad();">

或者,在父窗口的onload处理程序中设置iframe的URL。