国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

介 紹HTML5中的文件導入

2020-03-24 15:48:36
字體:
來源:轉載
供稿:網友

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

刪除重復依賴也并不簡單。例如,現在加載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復制內容到剪貼板 <link rel="import" href="component.html" >

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

component.html

XML/HTML Code復制內容到剪貼板 <link rel="stylesheet" href="css/style.css"> <script src="js/script.js"></script>

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復制內容到剪貼板 <link rel="import" href="component.html"> // 1. <title>Import Example</title> <script src="script3.js"></script> // 4.

component.html

XML/HTML Code復制內容到剪貼板 <script src="js/script1.js"></script> // 2. <script src="js/script2.js"></script> // 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對象

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 准格尔旗| 石嘴山市| 宁都县| 方城县| 遂川县| 武汉市| 海淀区| 融水| 上犹县| 浦县| 扬州市| 耒阳市| 陆川县| 泸州市| 九寨沟县| 堆龙德庆县| 大同市| 拜泉县| 侯马市| 峡江县| 山丹县| 邵东县| 彭阳县| 澄城县| 永丰县| 米泉市| 长沙市| 谢通门县| 舒城县| 许昌县| 茂名市| 北流市| 永春县| 石城县| 扎赉特旗| 南川市| 贵德县| 曲松县| 清新县| 山东省| 玛多县|