src和href使用总结

src

  • img 图片 <img src="/img/1.png" alt="1" />
  • rame iframe 框架集 <iframe src="girl.gif"></iframe>
  • input type 为image的提交按钮 <input type="image" src="submit.jpg" alt="Submit" align="right" />
  • scirpt 脚本 <script type="text/javascript" src="org.js"></script>
  • style 样式表(胎死腹中的XHTML2中就将src属性推广到了所有元素。比如可以: <style src="common.css"> </style>

href

  • a <a href="http://www.baidu.com" target="_blank">百度</a>
  • link 引用外部css <link type="text/css" href="iknow_base.css" rel="stylesheet" />
  • input type 中的onclick事件
    <input type=button onclick="window.location.href('#')" />

以上是src和href会被用到的标签,下面来看看他们的区别。

src是source的简写,表示“源”,是引用一个资源将该元素的内容将整体替换。如果不写src,那么本身没有内容,script会不存在脚本代码,img会显示x,iframe会显示空白页。例如<script type="text/javascript" src="b.js">alert(1)</script>,b.js:alert(2); 标准的浏览器里会显示2,因为本身的内容已经被替代了。

href是Hypertext Reference的缩写,表示“超链接”, 目的不是为了引用一个资源,而是为了建立一个“通道”,让当前标签能够链接到目标地址上,并不是为了把目标拉进页面本身内来替换本身的内容,例如a标签的href不会被当做一个资源替换自身,link标签本身并不包含实际的元素意义来做内容,它需要rel明确的表示被【被连接的文档是做什么的】。至于说为什么当初就决定外部样式表用link href来链接,而不是用style src来载入,可能是因为先贤们认为样式表更符合外部链接资源的特征,它更接近附属的资源,而不是内嵌的内容。

以上主要内容引自为什么加载 JavaScript 使用 "src",CSS 使用 "href"?有其含义还是历史语法遗留?


链接:https://www.jianshu.com/p/797bceab922b


href 表示超文本引用(hypertext reference) 引用 建立联系
src 表示来源地址 source   引入



src和href之间存在区别,能混淆使用。src用于替换当前元素,href用于在当前文档和引用资源之间确立联系。

src是source的缩写,指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置;在请求src资源时会将其指向的资源下载并应用到文档内,例如js脚本,img图片和frame等元素。

<script src ="js.js"></script>

当浏览器解析到该元素时,会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕,图片和框架等元素也如此,类似于将所指向资源嵌入当前标签内。这也是为什么将js脚本放在底部而不是头部。

 

href是Hypertext Reference的缩写,指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接,如果我们在文档中添加

<link href="common.css" rel="stylesheet"/>

那么浏览器会识别该文档为css文件,就会并行下载资源并且不会停止对当前文档的处理。这也是为什么建议使用link方式来加载css,而不是使用@import方式。







至于说为什么当初就决定外部样式表用link href来链接,而不是用style src来载入,可能是因为先贤们认为样式表更符合外部链接资源的特征,它更接近附属的资源,而不是内嵌的内容。比如考虑alternate stylesheets,在同一时间只需要链接一组样式表,而不是载入所有。当然你可以简单的归结为历史遗留(也就是当初某个浏览器开发者的一个偶然决定导致)。


链接:https://www.zhihu.com/question/19708137/answer/13562191




转载于:https://www.cnblogs.com/cjm123/p/8337049.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值