SRC与REF的区别?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (13)

SRCHREF属性用于包括一些外部实体,如图像,CSS文件,HTML文件,其他任何网页或JavaScript文件。

有没有明确区分SRCHREF?何处或何时使用SRCHREF?我认为它们不能互换使用。

下面给出几个使用这些属性的例子:

  • 引用CSS文件:href="cssfile.css"在链接标记内。
  • 引用JS文件:src="myscript.js"在脚本标签内。
  • 引用图片文件:src="mypic.jpg"在图片标签内。
  • 引用另一个网页:href="http://www.webpage.com"在锚标签内。
提问于
用户回答回答于

是。srchref之间有区别,它们不能互换使用。我们使用SRC用于替换元素,同时HREF建立的参考文档与外部资源之间的关系。

href(超文本引用)属性指定Web资源的位置,从而定义当前元素(如果是锚点a)或当前文档(如果是link)与目标锚点或由此属性定义的资源之间的链接或关系。当我们写:

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

浏览器明白这个资源是一个样式表和 处理页面解析不会暂停(渲染可能会暂停,因为浏览器需要样式规则来绘制和渲染页面)。这与将css文件的内容转储到标记内相似style。(因此,建议使用link而不是@import将样式表附加到您的html文档中。)

src(Source)属性只是将资源嵌入到当前文档中元素定义的位置。例如。浏览器发现时

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

页面的加载和处理暂停,直到浏览器读取,编译和执行文件。它类似于将js文件的内容转储到script标签中。类似的是img标签的情况。它是一个空标签,内容应该放在里面,由src属性定义。浏览器暂停加载,直到它获取并加载图像。[情况就是这样iframe]

这就是为什么建议在底部加载所有JavaScript文件(</body>标签之前)

用户回答回答于

script根据HTML 5规范,元素具有两个全局属性,它们改变src属性的功能:asyncdefer。这些改变脚本(嵌入或从外部文件导入)的执行方式。

这意味着可以使用这些属性选择三种可能的模式:

  1. async属性存在时,脚本一旦可用就会被异步执行。
  2. 如果该async属性不存在但该defer属性存在,则该脚本在页面完成解析时执行。
  3. 如果两个属性都不存在,则在用户代理继续解析页面之前立即提取并执行脚本。

有关详细信息,请参阅HTML 5建议

扫码关注云+社区