2018-11-13 HTML中的JavaScript

<script>元素

HTM4.01中定义了6个属性,可选。

必选的属性

属性 描述
type MIME-type 指示脚本的 MIME 类型。

可选的属性

属性 描述
async async 规定异步执行脚本(仅适用于外部脚本)。立即下载脚本但不妨碍页面其他操作
charset charset 规定在外部脚本文件中使用的字符编码。少用
defer defer 规定是否对脚本执行进行延迟,直到页面加载为止。 适用于外部脚本
language script 不赞成使用。规定脚本语言。请使用 type 属性代替它。
src URL 规定外部脚本文件的 URL。
xml:space preserve 规定是否保留代码中的空白。
  • 内部JavaScript代码自上而下解析。
  • 浏览器对页面的<script>先后顺序解析,defer和async则不一定。

需要注意脚本的执行循序。

  • 惯例<script>元素放在<head>中,但是浏览器遇到<body>才显示页面,为避免页面延迟,<script>放在<body>内容后。
  • 延迟脚本:defer="defer" 延迟脚本在</html>之后执行。注意异步脚本的依赖关系。

XHTML中的JavaScript

标签兼容问题
语法不兼容的错误,例如 < 与 &lt;

  • 解决办法:使用CData片段来包含JavaScript代码。

JavaScript放在外部文件的优点

  • 可维护:JavaScript放在一个文件中维护方便。
  • 可缓存:浏览器能够根据具体的设置缓存链接的所有外部JavaScript文件。即不同页面使用相同的文件时只需要下载一次。
  • 适应未来: 外部文件的JavaScript无需使用XHTML和注释 hack。

HTML头的文档模式

混杂模式和标准模式(还有准标准模式)

  • 没有声明时默认混杂模式,不值得推荐,因为不同浏览器的差异可能巨大。
    标准模式:严格型
    准标准模式:过渡性和框架集型

<noscript>元素

可以包含<body>中的除<script>元素外的所有HTML元素。浏览器不支持脚本或者是脚本无效的时候不会显示脚本内容。脚本启动时,浏览器不显示<noscript>包含的内容。

end

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容