1

一、script 标签中得属性的使用

1、language 已经废弃。

2、 type

对于普通的的javascript类型的文件不需要添加, 因为不添加默认为text/javascript格式, 除此之外, 服务器在传送javascript文件是使用的MIME类型是application/x-javascript,但在type中设置这个值却可能导致脚本被忽略。

当浏览器遇到</script>这个字符串是会认为当前的script脚本已经执行结束, 即使是
"</script>"字符串也需要这样执行, 如果这个确实需要被做为字符串处理, 那必须进行转义就像这样"</script>"。

3、 defer 延迟加载脚本

对于现代浏览器来说, HTML5的规范中已经说明, 在执行script标签的时候会忽略defer这个属性, 这个属性是的作用只适用于外部加载的script文件,会对外部文件立刻进行下载, 但是并不会执行,具体的执行时间是在遇到了</html> 这个html的结束标签之后, 并且在JavaScript的文件中不能保证延迟加载的这些文件会按照顺序加载, 但是基于HTML5的规范中, javascropt脚本文件应该按照顺序执行, 这样如果还是要使用defer属性的话, 就应该只能对唯一的某一个文件进行使用, 这样的做法也并不是很好,所以还是应该将这样的文件放到body的最底部。

4、 async 异步脚本

异步属性的作用是使浏览器异步加载脚本, 这个加载会立即下载,但不会执行, 不能保证执行的先后顺序,

5、 嵌入代码与外部文件

在html文件中最好的操作还是不加入html文件, 基于以下三天
  1. 可维护行;
  2. 可缓存:同一个js文件在两个不同的html中使用会进行缓存;
  3. 适应未来:以防未来使用更标准的html格式, 类似于XHTML。

二、 script标签应该放到页面最底部吗?

JS<script> 一定要放在 Body 的最底部吗


Andy
54 声望11 粉丝

Remember,Hope is a good thing,maybe the best of things and no good thing ever dies!