HTML Imports

<link rel="import" href="a.html" /> 的方式来导入html文件。

1 也可以使用iframe来导入,不过,iframe的样式比较难以调整。iframe作为一个独立的页面被导入到父页面之中,import的方式可以将导入的页面放入父页面中的某标签之中。

2 使用import可以同域导入,也可以跨域导入

<link rel="import" href="a.html" />
<link rel="import" href="http://www.example.com/a.html" />

3 检测浏览器是否支持import方式

'import' in document.createElement('link')

结果是true/false
4 load/error 事件,用于监听import的事件

<link rel="import" href="a.html" onload="load(event)" onerror="error(event)"/>

5 例子
index.html

<!DOCTYPE html>
<html>
<head>
   <link rel="import" href="import.html">
</head>
<body>
    <div id="container"></div>
    <script>
        var link = document.querySelector('link[rel="import"]');
        var layout = link.import.getElementById('layout');

        var container = document.getElementById('container');
        container.appendChild(layout.cloneNode(true));
    </script>
</body>

import.html

<div id="layout">This will be load to index page</div>

6 import上的data属性

<link rel="import" href="import.html" data-id="layout">

可以使用如下方式获取

var link = document.querySelector('link[rel="import"]');
var dataSet = link.dataset; 

dataSet是一个import上属性的集合。

7 与<template>标签的结合使用
即被导入的html文件中,顶级标签是<template> 。在template被加载到DOM元素中之前,其中的脚本不会被执行。

<template id="layout">
    <div>This will be load to index page</div>
</template>

8 被template包裹的情况下的使用

var link = document.querySelector('link[rel="import"]');
var layout = link.import.getElementById('layout');

var container = document.getElementById('container');      container.appendChild(layout.content.cloneNode(true));
// var clone = document.importNode(layout.content, true);
// container.appendChild(clone);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值