久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx

如何簡單介紹HTML5中的文件導入

2024-01-22    分類: 網站建設

Template、Shadow DOM及Custom Elements 讓你創建UI組件比以前更容易了。但是像HTML、CSS、JavaScript這樣的資源仍然需要一個個地去加載,這是很沒效率的。

刪除重復依賴也并不簡單。例如,現在加載jQuery UI或Bootstrap就需要為JavaScript、CSS及Web Fonts添加單獨的標簽。如果你的Web 組件應用了多重的依賴,那事情就變得更為復雜。

HTML 導入讓你以一個合并的HTML文件來加載這些資源。 使用HTML導入

為加載一個HTML文件,你需要增加一個link標簽,其rel屬性為import,herf屬性是HTML文件的路徑。例如,如果你想把component.html加載到index.html:

index.html XML/HTML Code復制內容到剪貼板 你可以往HTML導入文件(譯者注:本文將“ the imported HTML”譯為“HTML導入文件”,將“the original HTML”譯為“HTML主文件”。例如,index.html是HTML主文件,component.html是HTML導入文件。)添加任何的資源,包括腳本、樣式表及字體,就跟往普通的HTML添加資源一樣。

component.html XML/HTML Code復制內容到剪貼板 doctype、html、head、body這些標簽是不需要的。HTML 導入會立即加載要導入的文檔,解析文檔中的資源,如果有腳本的話也會立即執行它們。 執行順序

瀏覽器解析HTML文檔的方式是線性的,這就是說HTML頂部的script會比底部先執行。并且,瀏覽器通常會等到JavaScript代碼執行完畢后,才會接著解析后面的代碼。

為了不讓script 妨礙HTML的渲染,你可以在標簽中添加async或defer屬性(或者你也可以將script 標簽放到頁面的底部)。defer 屬性會延遲腳本的執行,直到全部頁面解析完畢。async 屬性讓瀏覽器異步地執行腳本,從而不會妨礙HTML的渲染。那么,HTML 導入是怎樣工作的呢?

HTML導入文件中的腳本就跟含有defer屬性一樣。例如在下面的示例中,index.html會先執行script1.js和script2.js ,然后再執行script3.js。

index.html XML/HTML Code復制內容到剪貼板 // 1. Import Example // 4. component.html XML/HTML Code復制內容到剪貼板 // 2. // 3. 1.在index.html 中加載component.html并等待執行

2.執行component.html中的script1.js

3.執行完script1.js后執行component.html中的script2.js

4.執行完 script2.js繼而執行index.html中的script3.js

注意,如果給link[rel="import"]添加async屬性,HTML導入會把它當做含有async屬性的腳本來對待。它不會等待HTML導入文件的執行和加載,這意味著HTML 導入不會妨礙HTML主文件的渲染。這也給提升網站性能帶來了可能,除非有其他的腳本依賴于HTML導入文件的執行。 跨域導入

從根本上說,HTML導入是不能從其他的域名導入資源的。

比如,你不能從http://webcomponents.org/向 http://example.com/ 導入HTML 文件。為了繞過這個限制,可以使用CORS(跨域資源共享)。想了解CORS,請看這篇文章。 HTML導入文件中的window和document對象

前面我提過在導入HTML文件的時候里面的腳本是會被執行的,但這并不意味著HTML導入文件中的標簽也會被瀏覽器渲染。你需要寫一些JavaScript代碼來幫忙。

當在HTML導入文件中使用JavaScript時,有一點要提防的是,HTML導入文件中的document對象實際上指的是HTML主文件中的document對象。以前面的代碼為例,index.html和 component.html 的document都是指index.html的document對象。怎么才能使用HTML導入文件中的document 呢?借助link中的import 屬性。

index.html XML/HTML Code復制內容到剪貼板 var link = document.querySelector('link[rel="import"]'); link.addEventListener('load', function(e) { var importedDoc = link.import; // importedDoc points to the document under component.html }); 為了獲取component.html中的document 對象,要使用document.currentScript.ownerDocument.

component.html XML/HTML Code復制內容到剪貼板 var mainDoc = document.currentScript.ownerDocument; // mainDoc points to the document under component.html 如果你在用webcomponents.js,那么就用document._currentScript來代替document.currentScript。下劃線用于填充currentScript屬性,因為并不是所有的瀏覽器都支持這個屬性。

component.html

XML/HTML Code復制內容到剪貼板 var mainDoc = document._currentScript.ownerDocument; // mainDoc points to the document under component.html 通過在腳本開頭添加下面的代碼,你就可以輕松地訪問component.html中的document對象,而不用管瀏覽器是不是支持HTML導入。

document._currentScript = document._currentScript || document.currentScript; 性能方面的考慮

使用HTML 導入的一個好處是能夠將資源組織起來,但是也意味著在加載這些資源的時候,由于使用了一些額外的HTML文件而讓頭部變得過大。有幾點是需要考慮的: 解析依賴

假如HTML主文件要依賴多個導入文件,而且導入文件中含有相同的庫,這時會怎樣呢?例如,你要從導入文件中加載jQuery,如果每個導入文件都含有加載jQuery的script標簽,那么jQuery就會被加載兩次,并且也會被執行兩次。

index.html XML/HTML Code復制內容到剪貼板 component1.html XML/HTML Code復制內容到剪貼板 component2.html HTML導入自動幫你解決了這個問題。

與加載兩次script標簽的做法不同,HTML 導入對已經加載過的HTML文件不再進行加載和執行。以前面的代碼為例,通過將加載jQuery的script標簽打包成一個HTML導入文件,這樣jQuery就只被加載和執行一次了。

但這還有一個問題:我們增加了一個要加載的文件。怎么處理數目膨脹的文件呢?幸運的是,我們有一個叫vulcanize的工具來解決這個問題。 合并網絡請求

Vulcanize 能將多個HTML文件合并成一個文件,從而減少了網絡連接數。你可以借助npm安裝它,并且用命令行來使用它。你可能也在用 grunt和gulp 托管一些任務,這樣的話你可以把vulcanize作為構建過程的一部分。

為了解析依賴以及合并index.html中的導入文件,使用如下命令:

復制代碼 代碼如下: $ vulcanize -o vulcanized.html index.html 通過執行這個命令,index.html中的依賴會被解析,并且會產生一個合并的HTML文件,稱作 vulcanized.html。學習更多有關vulcanize的知識,請看這兒。

注意:http2的服務器推送功能被考慮用于以后消除文件的連結與合并。 把Template、Shadow DOM、自定義元素跟HTML導入結合起來

讓我們對這個文章系列的代碼使用HTML導入。你之前可能沒有看過這些文章,我先解釋一下:Template可以讓你用聲明的方式定義你的自定義元素的內容。Shadow DOM可以讓一個元素的style、ID、class只作用到其本身。自定義元素可以讓你自定義HTML標簽。通過把這些跟HTML導入結合起來,你自定義的web 組件會變得模塊化,具有復用性。任何人添加一個Link標簽就可以使用它。 ... 本文來源于成都網站建設公司與成都網站設計制作公司-創新互聯成都公司!

文章名稱:如何簡單介紹HTML5中的文件導入
URL鏈接:http://www.js-pz168.com/news27/314827.html

成都網站建設公司_創新互聯,為您提供企業網站制作營銷型網站建設App設計響應式網站手機網站建設建站公司

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設公司
久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx
亚洲国产综合91精品麻豆| 久久99久国产精品黄毛片色诱| 天天综合天天做天天综合| 国产一区视频导航| 99三级在线| 中文字幕精品一区日韩| 精品国产一区二区三区忘忧草 | 韩日精品视频一区| 91免费版黄色| 在线视频不卡一区二区三区| 日韩精品中文字幕一区| 亚洲免费在线播放| 国产伦精品一区二区三区在线观看 | 精品一区在线看| 国产精品久久久久久久久婷婷| 中文字幕一区二区三区四区五区 | 粉嫩aⅴ一区二区三区四区五区| 精品欧美一区二区久久久伦| 欧美影视一区二区三区| 国产精品网站一区| 久久成人综合网| 国产一区二区无遮挡| 精品视频在线免费| 中文字幕一区二区三区精华液 | 欧美日韩精品福利| 中文字幕亚洲欧美在线不卡| 国内一区二区在线| 欧美日本韩国在线| 精品黑人一区二区三区久久| 亚欧色一区w666天堂| 99久久综合色| 欧洲激情一区二区| 亚洲特黄一级片| 成人综合在线观看| 在线观看日韩羞羞视频| 国产欧美一区二区精品久导航| 蜜臂av日日欢夜夜爽一区| 国产一区二区中文字幕免费看| 欧美日本免费一区二区三区| 亚洲精品国产第一综合99久久| 成人动漫av在线| 色噜噜久久综合| 亚洲欧美在线观看| jiyouzz国产精品久久| 色综合夜色一区| 成人免费一区二区三区视频| 国产a区久久久| 色综合咪咪久久| 中文字幕亚洲成人| aaa国产一区| 欧美日韩视频在线观看一区二区三区| 亚洲免费视频成人| 91成人理论电影| 欧美精选一区二区| 亚洲bdsm女犯bdsm网站| 国产欧美在线一区二区| 日韩欧美一级精品久久| 日本aⅴ精品一区二区三区| 免费日韩av电影| 国产视频一区二区在线| 国产成人日日夜夜| 在线亚洲人成电影网站色www| 亚洲欧美aⅴ...| 99久久伊人精品影院| 欧美一三区三区四区免费在线看 | 国产在线播放一区| 色综合天天狠狠| 亚洲精品成人天堂一二三| 97久久精品午夜一区二区| 欧美一区二区三区喷汁尤物| 日韩高清在线不卡| 日韩欧美亚洲在线| 亚洲天堂av老司机| 国产福利一区二区三区在线观看| 日韩欧美久久久| 紧缚奴在线一区二区三区| 亚洲午夜精品久久| 一区二区三区四区高清精品免费观看 | 三级久久三级久久久| 玛丽玛丽电影原版免费观看1977 | 欧美美女喷水视频| 日本亚洲一区二区| 亚洲精品乱码久久久久久蜜桃91| 中文字幕日本乱码精品影院| 91丨九色丨蝌蚪丨老版| 日韩精品一区在线观看| 韩国成人精品a∨在线观看| 色综合天天狠狠| 天天操天天色综合| 亚洲精品在线免费| 亚洲午夜av在线| 色一情一乱一伦一区二区三区| 成人免费在线视频观看| 国产麻豆一区二区三区在线观看| 久久久精品影视| aaa亚洲精品一二三区| 欧美成人猛片aaaaaaa| 国产99久久久国产精品潘金| 7777精品伊人久久久大香线蕉| 伦理电影国产精品| 欧美无乱码久久久免费午夜一区| 日韩高清电影一区| 色狠狠桃花综合| 蜜乳av一区二区三区| 在线欧美日韩精品| 秋霞午夜av一区二区三区| 91久久一区二区| 久久精品国产久精国产| 精品视频1区2区| 久久99精品久久久久久动态图| 欧美三级韩国三级日本三斤| 免费欧美在线视频| 欧美视频一区在线| 国产乱妇无码大片在线观看| 51午夜精品国产| 成人免费av资源| 久久久久久99久久久精品网站| 91精品国产一区二区三区动漫 | 亚洲资源中文字幕| 五月天丁香综合久久国产| 亚洲444eee在线观看| 一本色道久久综合狠狠躁的推荐| 青青国产91久久久久久 | 日韩电影免费在线看| 在线观看一区日韩| 国产美女在线观看一区| 日韩欧美在线综合网| 91在线观看视频| 欧美精彩视频一区二区三区| 韩国精品一区二区三区六区色诱| 亚洲日韩欧美一区二区在线| 日本中文不卡| 奇米影视一区二区三区| 欧美人狂配大交3d怪物一区| 丰满放荡岳乱妇91ww| 久久久久久久性| 精品婷婷色一区二区三区蜜桃| 亚洲自拍与偷拍| 欧美性猛片xxxx免费看久爱| 国产成人亚洲综合a∨婷婷图片| 久久先锋资源网| 精品久久久久亚洲| 午夜成人在线视频| 欧美人妖巨大在线| 91蝌蚪porny| 亚洲精品精品亚洲| 日本高清视频一区二区| 国产成人精品免费看| 国产亚洲精品bt天堂精选| 蜜桃av噜噜一区二区三| 日本视频一区二区三区| 日韩亚洲欧美中文三级| 北条麻妃高清一区| 亚洲午夜国产一区99re久久| 欧美亚洲自拍偷拍| 成人国产电影网| 自拍偷拍欧美精品| 91极品视觉盛宴| av毛片久久久久**hd| 亚洲欧美日韩国产手机在线| 色老综合老女人久久久| 成人高清在线视频| 亚洲欧美激情小说另类| 欧美在线一二三| 91女神在线视频| 亚洲成人激情av| 日韩亚洲欧美成人一区| 国产精品视频500部| 日韩av午夜在线观看| 欧美精品一区二区三区蜜桃视频 | 亚洲欧洲成人自拍| 欧美在线999| 国产成人精品一区二区三区福利| 亚洲高清免费观看 | 国产乱码精品一区二区三区忘忧草| 久久精品一区蜜桃臀影院| 色播亚洲婷婷| 国产91精品入口| 亚洲免费资源在线播放| 欧美久久免费观看| 久久99热只有频精品91密拍| 捆绑变态av一区二区三区| 国产亚洲美州欧州综合国 | 亚洲图片欧美一区| 日韩一区二区高清| 日韩国产伦理| 成人高清在线视频| 亚洲成在人线免费| 久久综合五月天婷婷伊人| 午夜视频久久久| 99久久精品国产导航| 亚洲成av人影院在线观看网| 欧美成人r级一区二区三区| 日本精品一区二区三区不卡无字幕| 国产福利视频一区二区三区| 亚洲欧洲综合另类| 欧美一区二区三区免费观看视频| 欧美日韩精品久久久免费观看| 国产精品一区久久久久| 国产欧美日韩久久|