为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript:父子页面中document ready 函数的执行顺序

Javascript:父子页面中document ready 函数的执行顺序

素胚勾勒不出你 2018-12-07 12:01:57
在一个Iframe中,有一个子Iframe,两个Iframe的JS代码中都有$(function () {})函数。 根据我的观察,子Iframe的$(function () {})函数要优先于父页面的$(function () {})执行,这是为什么呢? 另外,在父页面中怎样写代码,才能让代码优先于子Ifram的$(function () {})函数执行呢?谢谢。
查看完整描述

1 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

1.你的Iframe是如何创建的?(脚本动态创建,还是直接嵌入页面)

<html>
<body>
<div id="divIframe">
<iframe src=""></iframe>
</div>
</body>
</html>

上面这种方法,子Iframe加载都属于当前页面(Iframe)的一“渲染过程”,所以,你在

当前页面ready中写代码,要比子Iframe中的ready中写的代码执行要往后。

 

2.如果是直接嵌入,那么,子Iframe的构造还属于父Iframe document read 之前的过程。所以,子Iframe中的ready要比父Iframe要早。

3.如果是脚本动态构造,那么父Iframe应该是比子Iframe要早

例如:

<html>
<body>
<div id="divIframe"></div>
</body>
</html>
(function(doc,$){

$(document).ready(function(){
   appendIframe();
});

function appendIframe(){
    
    // 在这里把子Iframe嵌入到父Iframe中
    var iframeParent= doc.getElementById('divIframe');
    var iframeSub=createIframe();
    iframeParent.appendChild(iframeSub);
};

function createIframe(){
    // 在这里设置子Iframe加载完毕后操作
    // 如 iframe.onload=function(){
    //     code here...
    //};
}

})(document,jQuery);
查看完整回答
反对 回复 2018-12-24
  • 1 回答
  • 0 关注
  • 526 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信