而多乐在线书签导入html文件
打开APP
weixin_39597318
关注
而多乐在线书签导入html文件,,简单介绍HTML5中的文件导入 转载
2021-06-01 11:50:00
weixin_39597318
码龄5年
关注
Template,Shadow DOM和Custom Elements让您创建UI组件比以前更容易了。但是像HTML,CSS,JavaScript这样的资源仍然需要一个个地去加载,这是很没效率的。
例如,现在加载jQuery UI或Bootstrap就需要为JavaScript,CSS及Web字体添加单独的标签。如果您的Web组件应用了多重的依赖,那事情就变得更加复杂。
HTML导入让您以一个合并的HTML文件来加载这些资源。使用HTML导入
为加载一个HTML文件,您需要增加一个链接标签,其相关属性为import,herf属性是HTML文件的路径。例如,如果您想把component.html加载到index.html:
index.html
XML / HTML代码将内容复制到文本
<link rel = “ import” href = “ component.html” >
您可以往HTML导入文件(译者注:此处将“导入的HTML”译为“ HTML导入文件”,将“原始HTML”译为“ HTML主文件”。例如,index.html是HTML主文件, component.html是HTML导入文件。)添加任何的资源,包括脚本,样式表和字体,就跟往普通的HTML添加资源一样。
component.html
XML / HTML代码将内容复制到文本
<link rel = “ stylesheet” href = “ css / style.css” >
脚本>
doctype,html,head,body这些标签是不需要的。HTML导入会立即加载要引入的文档,解析文档中的资源,如果有脚本的话也会立即执行它们。执行顺序
浏览器解析HTML文档的方式是线性的,这就是说HTML顶部的脚本会比底部先执行。并且,浏览器通常会等到JavaScript代码执行完毕后,才会接着解析后面的代码。
为了不让脚本压缩HTML的渲染,你可以在标签中添加async或Defer属性(或者你也可以将脚本标签放到页面的底部)。defer属性会重复脚本的执行,直到全部页面解析完成。async属性让浏览器初始化地执行脚本,从而不会阻止HTML的渲染。那么,HTML导入是怎样工作的呢?
HTML导入文件中的脚本就跟着包含defer属性一样。例如在下面的示例中,index.html会先执行script1.js和script2.js,然后再执行script3.js。
index.html
XML / HTML代码将内容复制到文本
<link rel = “ import” href = “ component.html” > // 1。
<title >导入示例 title >
<script src = “ script3.js” >script >// 4。
component.html
XML / HTML代码将内容复制到文本
<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”]添加异步属性,HTML导入会把它当做包含异步属性的脚本来对待。它不会等待HTML导入文件的执行和加载,这意味着HTML导入不会阻止HTML主文件的渲染。这也给提升网站性能带来了可能,除非有其他的脚本依赖于HTML引入文件的执行。跨域引入
htm5页面嵌入移动端两种方法:1、使用PhoneGap、APPCan等移动混合开发,能够方便的调用一些手机系统功能(如定位、摄像头等)
2、使用WebView直接显示htm5页面,调用手机系统功能需要使用js映射调用移动端方法。