我是靠谱客的博主 默默鱼,最近开发中收集的这篇文章主要介绍关于页面加载iframe及其对JQ中的加载完毕方法和JS的加载完毕方法的更深认知,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

    在项目中用到了layui的富文本编辑器,此框架是通过生成iframe来实现的,由于要对富文本编辑器进行实时保存功能,需要自己在此框架基础上进行一些修改,就需要对iframe进行交互了。很少使用iframe这种方法,对此不太精通。就去查了一下操作方法,发现自己有的方法有效果有的没有,出于程序员的态度,不搞清今晚就不可能睡着了!

    使用原生JS的方法都能够成功,使用JQ的方法就失败。我通过调试发现Jquery都是显示未定义,下意识的觉得就是加载顺序导致没有获取到。百度发现JQ的$(function(){})是在DOM树加载完毕后执行,window.onload是页面所有资源加载后执行。所以可能是iframe的加载靠后。

    通过将JQ,JS的加载完毕方法去掉后,发现对iframe的JS方法显示null,JQ方法显示未定义,对此,出于职业本能都知道是iframe的加载靠后导致的了。靠后到比DOM树还晚。

    DOM加载顺序(网上图示):

 

        1.解析HTML结构 
        2.加载外部的脚本和样式文件 
        3.解析并执行脚本代码 
        4.执行$(function(){})内对应代码 
        5.加载图片等二进制资源 

        6.页面加载完毕,执行window.onload

  其他区别:window.onload()只能写一次,后边的会覆盖掉前边的;$(function(){})执行多次。  

    解决方法:在JQ加通过点击执行,iframe加载完后回调等方法实现延时,等待iframe加载完来执行。

最后

以上就是默默鱼为你收集整理的关于页面加载iframe及其对JQ中的加载完毕方法和JS的加载完毕方法的更深认知的全部内容,希望文章能够帮你解决关于页面加载iframe及其对JQ中的加载完毕方法和JS的加载完毕方法的更深认知所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部