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

在一个Iframe中,有一个子Iframe,两个Iframe的JS代码中都有$(function () {})函数。

根据我的观察,子Iframe的$(function () {})函数要优先于父页面的$(function () {})执行,这是为什么呢?

另外,在父页面中怎样写代码,才能让代码优先于子Ifram的$(function () {})函数执行呢?谢谢。

素胚勾勒不出你
浏览 527回答 1
1回答

隔江千里

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);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript