亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > HTML5 > 正文

iframe與window.onload如何使用詳解

2024-09-05 07:23:27
字體:
來源:轉載
供稿:網友

前言

在項目上,需要等頁面加載完之后再執行一個方法用于修改頁面的顏色,于是導出都是在使用onload解決,然而這并不能解決我遇到的問題,因為我發現,我項目上的頁面仍然沒加載,折騰了很久才知道,原來是因為項目使用了很古老的iframe來操作的,必須等iframe加載完之后才能執行方法,原因分析完了,接下來我再說說,傳統的,原生JS是如何使用onload的。

網上很常見的方法

<script type="text/javascript">window.onload=function(){    document.getElementById("bg").style.backgroundColor="#F00";}</script>

解釋:window.onload必須等到頁面內包括圖片的所有元素加載完畢后才能執行。

還有一種寫法是

<body  οnlοad="loadBody()"><div ></div><script type="text/javascript">    console.log("load ......  body  javascript  ");     window.οnlοad=function(){        console.log("load ......  body window javascript ");    }</script></body>

解釋:等待body加載完成,就會執行loadBody()方法。在window和dom之后執行,總是最后執行。這里的onload函數會覆蓋window.onload

上述內容并不能解決我的問題,于是我去查我不是很想用的jQuery的方法:$(document).ready,想著能不能用原生JS實現該方法

function ready(fn){ if(document.addEventListener){  //標準瀏覽器  document.addEventListener('DOMContentLoaded',function(){   //注銷時間,避免重復觸發   document.removeEventListener('DOMContentLoaded',arguments.callee,false);   fn();  //運行函數  },false); }else if(document.attachEvent){  //IE瀏覽器  document.attachEvent('onreadystatechange',function(){   if(document.readyState=='complete'){    document.detachEvent('onreadystatechange',arguments.callee);    fn();  //函數運行   }  }); }}

但是我發現我的項目上并沒有任何變化,依然不能用在項目上,這我就發愁了,我突然想到,項目上用的iframe于是就去搜了一下。

什么是iframe

HTML內聯框架元素 (<iframe>) 表示嵌套的browsing context。它能夠將另一個HTML頁面嵌入到當前頁面中。每個嵌入的瀏覽上下文(embedded browsing context)都有自己的會話歷史記錄(session history)和DOM樹。包含嵌入內容的瀏覽上下文稱為父級瀏覽上下文。頂級瀏覽上下文(沒有父級)通常是由 Window 對象表示的瀏覽器窗口。

iframe 的頁面和父頁面(parent)是分開的,所以它意味著,這是一個獨立的區域,不受 parent 的 CSS 或者全局的 JavaScript 的影響。

主要優勢:
(1)網頁編輯器(WYSIWYG Online HTML Editor),因為它們需要 reset 自己的 CSS 到自己的標準,而不被 parent CSS 的 override。
(2)沙箱隔離。
(3)需要保持獨立焦點和歷史管理的子窗口,如復雜的Web應用。

缺點:
(1)樣式/腳本需要額外鏈入,會增加請求。
(2)iframe好在能夠把原先的網頁全部原封不動顯示下來,但是如果用在首頁,是搜索引擎最討厭的。
(3)iframe的創建比其它包括scripts和css的 DOM 元素的創建慢了 1-2 個數量級。
(4)iframe會阻塞主頁面的Onload事件

好了,說了這么多利弊,還是需要看具體項目來解決項目上的問題,那么怎么解決onload呢?

// 頁面加載時判斷frameObj是否加載window.onload = function(){   var frameObj= document.getElementById("frameID"); // 如果已加載則執行方法 if (frameObj.attachEvent){// IE        frameObj.attachEvent("onload", function(){            yourfunction();        });    }else {        // 非IE        frameObj.onload = function(){            yourfunction();        };}};

這段代碼有兩點比較重要,首先是需要使用window.onload并且你需要知道attachEvent方法

寫了這么久的代碼,還是把IE放在了考慮范圍內,畢竟是Windws 內核,不想刪掉就隱藏吧,最近在寫前端代碼的時候,發現如果項目本來沒有使用jQuery,就一直不使用jQuery,代碼比較整潔,而且加上新出的vue、react都有自己不錯的封裝思路,于是我寫習慣了$這個dollar符終于可以不用了。

總結

以前總是很懶得寫前端代碼,寫標簽呀寫JS呀,都覺得又繁瑣又沒有意思,可能是因為學校里學的都是Java、C/C++這種,邏輯性很強,于是在前端的學習上,就慢了很多,慢了不知道好幾拍。當自己想寫一份前后端都很優雅,很華麗的代碼的時候,就發現,只會后端是不夠的,代碼寫出來要么很丑,要么前后交互很潦草,于是也就拿不出手了。最近嘔心瀝血寫了一份代碼,還在潤色當中,而且申請的域名可算是通過了,這里有一個大坑,就是,很久之前我在國內進行過備案,當時因為還是學生,就在學校所在地申請了備案號,結果現在想換又覺得麻煩,于是總是填錯,今天通知我審核通過了,下一步就是聯網備案,聽說是又多了一步,慢慢走流程吧!

到此這篇關于iframe與window.onload如何使用詳解的文章就介紹到這了,更多相關iframe與window.onload內容請搜索武林網以前的文章或繼續瀏覽下面的相關文章,希望大家以后多多支持武林網! 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲人成网7777777国产| 日韩中文字幕免费| 最新69国产成人精品视频免费| 欧美日韩综合视频网址| 国产精品∨欧美精品v日韩精品| 人体精品一二三区| 欧美电影免费观看高清完整| 亚洲欧美中文日韩v在线观看| 在线观看不卡av| 久久亚洲精品中文字幕冲田杏梨| 成人乱色短篇合集| 热久久免费国产视频| 国产婷婷97碰碰久久人人蜜臀| 久久天天躁夜夜躁狠狠躁2022| 欧美午夜片欧美片在线观看| 日韩欧美在线观看视频| 国产一区二区在线免费视频| 久久久精品免费| 亚洲精品一区二三区不卡| 久久精品一本久久99精品| 91国内免费在线视频| 国产精品青草久久久久福利99| 国产日韩在线视频| 日韩毛片在线看| 国产做受高潮69| 亚洲成人黄色网址| 日韩色av导航| 久久久人成影片一区二区三区| 亚洲小视频在线观看| 精品久久久免费| 久久久久久中文| 国产精品精品视频| 日韩欧美国产视频| 国产小视频国产精品| 精品国产鲁一鲁一区二区张丽| 91久久久久久久| 亚洲欧洲av一区二区| 亚洲欧美综合精品久久成人| 韩日欧美一区二区| 黑人极品videos精品欧美裸| 欧美亚州一区二区三区| 精品国产欧美一区二区三区成人| 亚洲欧美www| 国产欧美精品xxxx另类| 中文国产成人精品久久一| 米奇精品一区二区三区在线观看| 亚洲自拍偷拍第一页| 91精品国产综合久久男男| 亚洲精品成人久久久| 欧美第一淫aaasss性| 国产欧美一区二区三区久久| 日韩中文字幕在线免费观看| 国产一区二区三区免费视频| 欧美中文字幕视频在线观看| 中文字幕一区日韩电影| 亚洲精品免费一区二区三区| 国产69精品久久久| 狠狠操狠狠色综合网| 2018中文字幕一区二区三区| 久久免费成人精品视频| 中文日韩在线观看| 欧美午夜丰满在线18影院| 日韩在线观看高清| 自拍偷拍亚洲欧美| 国产精品成人aaaaa网站| 亚洲午夜激情免费视频| 欧美日韩一区免费| 午夜欧美不卡精品aaaaa| 91久久在线播放| 国产欧美一区二区| 国产精品永久免费观看| 欧美视频裸体精品| 欧美有码在线观看视频| 一区二区成人精品| 国产91在线播放精品91| 欧美成人精品影院| 亲子乱一区二区三区电影| 97碰碰碰免费色视频| 51色欧美片视频在线观看| 日本欧美中文字幕| 美女av一区二区三区| 色噜噜久久综合伊人一本| 成人写真视频福利网| 精品国产福利在线| 亚洲欧洲在线免费| 国产视频久久久久久久| 精品国产视频在线| 日韩欧美主播在线| 久久久999精品| 国产视频观看一区| 亚洲男女性事视频| 欧美国产日产韩国视频| 日本道色综合久久影院| 国产亚洲美女久久| 欧美美女操人视频| 精品久久久国产精品999| 国产91在线视频| 亚洲视频777| 北条麻妃一区二区三区中文字幕| 国产精品美女久久久免费| 日韩中文字幕在线| 97久久精品人人澡人人爽缅北| 国产日本欧美一区二区三区在线| 国产一区在线播放| 亚洲国产私拍精品国模在线观看| 国产精品啪视频| 久久精品福利视频| 最近2019中文字幕mv免费看| 日韩视频欧美视频| 亚洲天堂免费观看| 欧美激情久久久| 久久久亚洲网站| 97超级碰在线看视频免费在线看| 国产99视频精品免视看7| 色播久久人人爽人人爽人人片视av| 国产成人综合精品在线| 欧美激情喷水视频| 久久成人18免费网站| 午夜欧美大片免费观看| 国产精品成人久久久久| 亚洲第一区中文字幕| 欧美激情亚洲综合一区| 亚洲人成网站在线播| 欧美肥老太性生活视频| 97视频免费观看| 国产丝袜一区二区三区| 久久久精品一区| 久久亚洲一区二区三区四区五区高| 国产精品视频久| 亚洲欧美日韩久久久久久| 不用播放器成人网| 日韩亚洲成人av在线| 精品久久久久久久中文字幕| 国产成人精品视频在线| 国产精品久久色| 久久久久免费精品国产| 国内免费久久久久久久久久久| 欧美成人免费全部观看天天性色| 亚洲天堂第一页| 乱亲女秽乱长久久久| 日韩精品中文字幕有码专区| 91亚洲永久免费精品| 成人午夜高潮视频| 亚洲午夜国产成人av电影男同| 精品自在线视频| 欧美亚洲另类制服自拍| 色综合男人天堂| 亚洲精品98久久久久久中文字幕| 精品国产欧美一区二区五十路| 欧美大片免费观看在线观看网站推荐| 91精品国产综合久久香蕉最新版| 精品亚洲一区二区三区| 日韩最新免费不卡| 97精品在线视频| 日韩精品免费看| 亚洲第一中文字幕| 成人在线中文字幕| 欧美成人精品在线视频| 日韩久久免费电影| 亚洲伊人成综合成人网| 久久久精品国产网站| 色偷偷偷综合中文字幕;dd| 欧美午夜宅男影院在线观看| 国产一区二区香蕉|