iframe onload不起作用,iframe的window

  iframe onload不起作用,iframe的window

  前言

  在项目上,我们需要等待页面加载后再执行一个方法来修改页面的颜色,所以导出都是用onload解决的。然而,这并不能解决我遇到的问题,因为我发现我的项目上的页面仍然没有加载,我花了很长时间才意识到这是因为项目使用了一个古老的iframe来操作,所以我们必须等待iframe加载后才能执行该方法。原因分析完毕。接下来,我要谈谈传统,传统

  网上很常见的方法

  script type= text/JavaScript window . onload=function(){ document . getelementbyid( BG ). style . background color= # F00 ;}/脚本解释:window.onload必须等到页面中包括图片在内的所有元素都加载完毕。

  另一种写法是

  bodyon load= load body() div/div script type= text/JavaScript console . log( load.正文JavaScript’);window .on load=function(){ console . log( load.正文窗口JavaScript’);}/script/body说明:当body加载后,会执行loadBody()方法。在window和dom之后执行,总是最后。这里的onload函数覆盖window.onload

  以上内容解决不了我的问题,我去查了jQuery方法:$(document)。ready,我不是很想用,想知道能否用原生JS实现。

  ready(fn){ if(document . addevent listener){//标准浏览器document . addevent listener( domcontentloaded ,function(){//注销时间,避免重复触发document . removeevent listener( domcontentloaded ,arguments.callee,false);fn();//运行函数},false);} else if(document . attach event){//ie浏览器document . attach event( onreadystatechange ,function(){ if(document . ready state== complete ){ document . detach event( onreadystatechange ,arguments . callee);fn();//函数run } });}}但是我发现我的项目没有任何变化,仍然无法在项目中使用,这让我很担心。突然想到,我搜索了项目中使用的iframe。

  什么是iframe

  HTML内嵌框架元素(iframe)表示嵌套的浏览上下文。它可以在当前页面中嵌入另一个HTML页面。每个嵌入式浏览上下文都有自己的会话历史和DOM树。包含嵌入内容的浏览上下文称为父浏览上下文。顶级浏览上下文(没有父级)通常是由Window对象表示的浏览器窗口。

  iframe页面和父页面是分开的,所以意味着这是一个独立的区域,不受父页面的CSS或者全局JavaScript的影响。

  主要优势:

  (1) fckeditor(所见即所得在线HTML编辑器),因为他们需要将自己的CSS重置为自己的标准,而不是被父CSS覆盖。

  (2)沙盒隔离。

  (3)需要保持独立焦点和历史管理的子窗口,比如复杂的Web应用。

  缺点:

  (1)样式/脚本需要额外的链接,这将增加请求。

  (2)iframe可以原封不动的显示所有的原始网页,但是如果用在首页,是最让搜索引擎讨厌的。

  (3)3)iframe的创建比包括脚本和css在内的其他DOM元素慢1-2个数量级。

  (4)iframe会阻塞主页的Onload事件。

  好了,说了这么多优缺点,还是要看具体项目来解决项目中的问题,那么onload怎么解决呢?

  //页面加载时,判断frameObj是否加载window . onload=function(){ var frame obj=document . getelementbyid( framed );//如果加载了,执行方法if(frame obj . attach event){//ieframe obj . attach event( onload ,function(){ your function());});} else {//non-ieframeobj . onload=function(){ your function();};}};这段代码中有两个要点。首先,您需要使用window.onload,并且需要知道attachEvent方法。

  写了这么久代码,还是把IE考虑进去了。毕竟是Windws内核,不想删就藏起来。最近在写前端代码的时候,发现项目如果不使用jQuery,就永远不会使用jQuery,代码很工整。而且新的vue和react都有自己很好的包装思路,所以我习惯了写$这个美元符号终于可以用了。

  总结

  以前懒得写前端代码,标签,JS,感觉都很繁琐,没有意义。可能是因为学校学的科目都是Java和C/C,逻辑性很强,所以前端学的慢了很多,不知道打了多少拍。当我想写一个有优雅华丽的前后端的代码时,发现只有后端是不够的。写出来的代码要么很丑,要么来回交互很马虎,弄不出来。最近辛辛苦苦写了个代码,还在打磨,申请的域名也算是通过了。这里有一个很大的漏洞,就是我很久以前在国内备案了。当时因为是学生,所以在学校所在地申请了备案号。结果现在改起来很麻烦,所以总是填错。今天,我被告知申请被批准了。下一步是网上申报。听说又多了一步。慢慢来过程!

  关于如何使用iframe和window.onload的这篇文章到此为止,关于iframe和window.onload的更多信息,请搜索以前的文章或继续浏览下面的相关文章。希望你以后能支持我!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: