Javascript 在HTML中使用Javascript

作者: Sue1024 | 来源:发表于2018-01-27 12:15 被阅读43次

第二章讲的是如何将Javascript引入HTML

<script>

<script>有以下属性:

  • async 只对外部文件有效,表示立即下载,不妨碍页面其他操作
  • defer 只对外部文件有效, 表示立即下载,不妨碍页面其他操作
  • charset 字符集
  • language 已废弃
  • src 表示外部文件
  • type 编写代码使用的脚本语言的内容类型(即MIME类型),默认为text/javascript

<script>有两种使用方式:

  • 页面中嵌入,需要指定type属性,注意嵌入的代码中不能包含</script>字符串,如需包含,请先转义(<\/script>)。在解释器对其中代码求值完毕以前,页面剩余内容不会被加载显示。
  • 包含外部文件,需要指定src属性代表外部文件的位置,浏览器不会检查包含Javascript文件的扩展名,因此可以使用PHP、JSP等动态生成Javascript,如果不使用扩展名,请确保服务器返回正确的MIME类型。此时<script></script> 之间的代码会被忽略。
    这里作者还提到了Javascript会阻塞页面加载渲染,之前写过一篇文章,可参考:
    HTML 加载过程
标签的位置

传统做法,是将Javascript的加载放在<head>标签内,但这种做法会使界面呈现(<body>标签)发生在所有Javascript加载、解析、执行完毕之后,严重影响用户体验,因此推荐将<script>标签放在</body>之前。

延迟脚本(defer

被标注defer属性的脚本需立即下载,但要等到整个页面解析完毕后再执行。即使脚本放在<head>中,也会在</html>之后按出现的先后顺序执行(按顺序执行仅仅是HTML5的规范)

异步脚本(async)

异步脚本同延迟脚本类似,只是不保证脚本按顺序执行,asyncdefer的目的是不让Javascript的下载和执行堵塞页面其他内容。
关于asyncdefer之后章节会有详细讲述

在XHTML的用法(略,以后会找时间学习XHTML,这里不做笔记)
不推荐使用的语法(略)

嵌入代码与外部文件

一般认为最好使用外部文件来引入Javascript代码,有如下优点:

  • 可维护性 可专心地、不触及HTML标签地、统一地更改Javascript代码
  • 可缓存
  • 可重用(笔者自己加的,由书中的 可缓存 扩展而来)两个HTML文件可使用同一个Javascript文件。
  • 适应未来 HTML和XHTML包含外部文件的语法是相同的。

文档模式

IE5.5引入的概念,通过doctype实现切换。
如果文档开始时不声明,所有浏览器默认开启混杂模式,但是不推荐,因为不同了浏览器这种模式下行为差距很大,推荐使用标准模式或准标准模式。
标准模式:

标准模式

准标准模式:


准标准模式

zhunbia
标准模式与准标准模式的差异几乎可以忽略不计。

<noscript>

当浏览器不支持Javascript脚本或者Javascript脚本被禁用时该怎么办呢?我们可以使用<noscript>来显示替代内容,任何可以添加在<body>中的HTML元素(除<script>)都可以添加在<noscript>

相关文章

网友评论

    本文标题:Javascript 在HTML中使用Javascript

    本文链接:https://www.haomeiwen.com/subject/kcknaxtx.html