首页 > IT职业 > IT图书 > HTML5 之 Imports
和当前页面进行交互的CSS Javascript书写困难
Ajax xhr.responseType="document
用字符串的形式嵌入界面, 像注释一样隐藏
通过声明 来在页面中包含一个导入
导入的 MIME 类型是 text/html。
导入跨域资源需要启用 CORS
来自相同 URL 的导入仅获取和解析一次。这表示导入中的脚本只在第一次导入的时候执行。
导入中的脚本按 顺序自动执行,它们 不会阻塞主页面解析。
导入链接不代表 #把内容添加到这里。它代表 解析器,去把这个文档取过来,我一会要用。脚本在导入期间运行,而样式,标记,还有其他资源需要明确的加入到主页面中。这是 HTML 导入和
// 动态的创建导入var link = document.createElement('link');
link.rel = 'import';
link.href = 'file.html'link. = function(e) {...};
link. = function(e) {...};document.head.appendChild(link);
导入的内容不在主文档中, 仅仅作为主文档附属存在
导入的内容
var content = document.querySelector('link[rel="import"]').import;
使用导入内容的DOM元素
var test = content.querySelector('.test');
使用导入内容的样式表
var styles = content.querySelector('link[rel="stylesheet"]'); document.head.appendChild(styles.cloneNode(true));
Can I use显示, 目前只有Chrome Opera支持, 可以使用Polyfill来兼容
// 原生兼容性检测代码function supportsImports() { return 'import' in document.createElement('link');
}if (supportsImports()) { // 支持导入!} else { // 使用其他的库来加载文件。}
只需要引入一个HTML文件, 在该文件上引入各种打包资源, 理论上可以在页面导入一个完整的web应用
a.html
...<!-- 脚手架标记 --> ...
主文件中引入
按逻辑将代码划分为不同的文件进行导入
没有导入之前,一个大型的 JS 库需要在使用前全部解析,这通常很慢。有了导入,只要块 A 解析完毕,库就能够立即使用。延迟更少了!
:
...
自定义元素自动注册, web组件化的良好实践, 接口/定义与使用分离
( I'm in the light dom )
合并导入
导入影响浏览器缓存(导入的资源也可以被缓存)
内容只有在被添加后才是可用的(在导入文档中直接 "运行" 的只有 )
优化异步载入(避免阻塞)
作者:KeKeMars
链接:https://www.jianshu.com/p/7ac5191e608f
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/73/viewspace-2812916/ ,如需转载,请注明出处,否则将追究法律责任。