这篇文章主要介绍了使用HTML中Imports的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
先想想你在web上是如何加载不同类型的资源。对于JS,我们有<scriptsrc>。<linkrel="stylesheet">应该是CSS的首选。图片可以用<img>。视频则有<video>。音频,<audio>web上绝大部分的内容都有简单明了的加载方式。对于HTMLimports呢?
为什么需要导入imports?
<iframe>-可用但笨重。iframe中的内容全部存在于一个不同于当前页的独立上下文中。这是个很棒的特性,但也为开发者们带来了额外的挑战(将frame按照内容尺寸来缩放已经有点难度,在iframe和当前页面之间写点JS能把人绕晕,更别提操作样式了)。
AJAX-我喜欢xhr.responseType="document",可是加载HTML要用JS?这就不大对劲了。
CrazyHacks™-用字符串的方式嵌入页面,像注释一样隐藏(例如<scripttype="text/html">)。呕!
可笑不?作为web上最基础的内容,HTML,竟然需要这么麻烦才能得到我们想要的结果。幸运的是,WebComponents总算找到了一条正确的路。
开始
HTML导入,WebComponents阵容中的一员,是在其他HTML文档中包含HTML文档的一种方法。当然并非仅限于此,你还可以包含CSS,JavaScript,或.html文件中能包含的任何内容。换句话说,这使得导入成为了加载相关HTML/CSS/JS的神器。
imports导入基础
通过声明<linkrel="import">来在页面中包含一个导入:
<head> <linkrel="import"href="/path/to/imports/stuff.html"> </head>
导入中的URL被称为导入地址。若想跨域导入内容,导入地址必须允许CORS:
<!–其他域内的资源必须允许CORS–>
<linkrel="import"href
浏览器的网络协议栈(networkstack)会对访问相同URL的请求自动去重。这意味着从同一个URL导入的内容只会被获取一次。无论这个地址被导入多少次,最终它将只执行一次。
最新评论