html标签的src属性和href属性的区别

 src 属性是source的缩写,意思为来源,一般作为媒体元素 HTNLDediaElement 的媒体资源映射URL。例图片、脚本的资源路径:

<img src="image/demo.png">
<iframe src="inner.html">
<script src="demo.js"></script>

  src 加载媒体资源时时阻塞式的,页面的其他资源会暂停处理,这就是为什么一般吧 script 脚本标签放在文档末尾加载的一个原因。

 href Hypetext Reference 的缩写,意思为超文本引用,由于是非媒体资源,外部引用,也就是页面无需呈现出来的资源,所以加载这种资源的时候是非阻塞式的。例 linka 标签:

<link rel="stylesheet" src="style/demo.css">
<a href="./demo">demo</a>

总结来说就是,src 是媒体资源路径的映射,是阻塞式加载,href 是超链接,是非阻塞式的。

我们可以理解为媒体资源是需要实实在在显示在页面上的,是DOM结构中的实实在在的数据,因此会阻塞加载,而超链相当于一个属性,一条引用,并不需要把真实的资源呈现到页面上,也就无需阻塞页面加载了。

值得注意的一问题就是,js脚本并不是媒体资源,也不是DOM需要的数据,为什么 js 脚本要用 srccss 就可以用 href 呢?实际上,这是设计之初的决定,可能设计者认为js脚本的执行会改变页面,也就是改变DOM,当然需要随着页面一起加载,而 css 只是页面样式,并不会改变 DOM ,也就属于超链接了,从这层含义理解,就知道是否阻塞页面和引用的资源大小无关了,而是和是否实际改变了页面 DOM 有关。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值