第二章 在Html中使用JavaScript
https://www.jianshu.com/p/8247a9401725
2.1 Script元素
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script
<script>定义了下列6个属性:
2.1.1 标签的位置
2.1.2 延迟脚本
2.1.3 异步脚本
2.1.4 在XHTML中的用法
2.1.5 不推荐使用的语法
2.2 嵌入代码与外部文件
在HTML中嵌入JavaScript代码虽然没有问题,但一般认为最好的做法还是尽可能使用外部文件来包含JavaScript代码。
不过,并不存在必须使用外部文件的硬性规定,但支持外部文件的人多会强调如下优点:
1.可维护性
遍及不同HTML页面的JavaScript会造成维护问题。但把所有JavaScript文件都放在一个文件夹中,维护起来就轻松多了。而且开发人员因此也能够在不触及HTML标记的情况下,集中精力编辑JavaScript代码。
2.可缓存
浏览器能够根据具体的设置,缓存链接的所有外部JavaScript文件。也就是说,如果有两个页面都是用同一个文件,那么这个文件只需要下载一次。因此,最终结果就是能够加快页面加载的速度。
3.适应未来:
通过外部文件来包含JavaScript无须使用前面提到的XHTML或者注释。HTML和XHTML包含外部文件的语法是相同的。
2.3 文档模式
ie5.5引入了文档模式的概念,而这个概念是通过使用文档类型doctype切换实现的。
最初的两种文档模式,混杂模式quirks mode和标准模式 standard mode。
ie之后又提出了,所谓的准标准模式almost standards mode,这种模式下的浏览器特性有很多都是符合标准的,但是也不尽然。不标准的地方主要体现在处理图片间隙的时候(在表格中使用图片时问题最明显)
如果在文档开始处没有发现文档类型声明,则所有的浏览器都会默认开启混杂模式。但是采用混杂模式,并不是什么值得推荐的做法,因为不同浏览器在这种模式下的行为差异非常大。
1.对于标准模式,可以使用下面任何一种文档类型来开启
<!-- HTML 4.01 严格型 -->
<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <!-- XHTML 1.0 严格型 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!--HTML 5-->
<!DOCTYPE html>
2.对于准标准模式,可以通过使用transitional或frameset文档类型来触发
<!-- HTML 4.01 过渡型 -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!-- HTML 4.01 框架集型 -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <!-- XHTML 1.0 过渡型 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!-- XHTML 1.0 框架集型 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
准标准模式与标准模式非常接近,它们的差异几乎可以忽略不计。因此,当有人提到“标准模式”时,有可能是指这两种模式中的任何一种。而且检测文档模式时也不会发现什么不同。本书后面提到的标准模式时,指的是除混杂模式之外的其他模式。
2.4 <noscript>元素
早期的浏览器都面临一个特殊的问题,即当浏览器不支持JavaScript时,如何让页面平稳地退化。
解决方案是创造一个<noscript>元素,用以在不支持JavaScript的浏览器中显示替代内容。
这个元素可以包含在能够出现在文档<body>中的任何HTML元素--<script>元素除外。
包含在<noscript>元素中的内容只有在下列情况下才会显示出来:
1.浏览器不支持脚本
2.浏览器支持脚本,但是脚本被禁用
第二章 在Html中使用JavaScript的更多相关文章
- javascript高级程序设计第3版——第二章使用javascript
- JavaScript高级程序设计第三版.CHM【带实例】
从驱动全球商业.贸易及管理领域不计其数的复杂应用程序的角度来看,说 JavaScript 已经成为当今世界上最流行的编程语言一点儿都不为过. JavaScript 是一种非常松散的面向对象语言,也是 ...
- Javascript高级程序设计读书笔记(第二章)
第二章 在HTML中使用Javascript 2.1<script>元素 延迟脚本(defer = "defer")表明脚本在执行时不会影响页面的构造,脚本会被延迟到 ...
- JavaScript高级程序设计第三版-读书笔记(1-3章)
这是我第一次用markdown,也是我第一次在网上记录我自己的学习过程. 第一章 JavaScript主要由以下三个不同的部分构成 ECMAScript 提供核心语言功能 DOM 提供访问 ...
- javascript高级程序设计第三版书摘
在HTML 中使用JavaScript <script>元素 在使用<script>元素嵌入 JavaScript 代码时,只须为<script>指定 type 属 ...
- DOM 操作技术【JavaScript高级程序设计第三版】
很多时候,DOM 操作都比较简明,因此用JavaScript 生成那些通常原本是用HTML 代码生成的内容并不麻烦.不过,也有一些时候,操作DOM 并不像表面上看起来那么简单.由于浏览器中充斥着隐藏的 ...
- 10.2 DOM 操作技术【JavaScript高级程序设计第三版】
很多时候,DOM 操作都比较简明,因此用JavaScript 生成那些通常原本是用HTML 代码生成的内容并不麻烦.不过,也有一些时候,操作DOM 并不像表面上看起来那么简单.由于浏览器中充斥着隐藏的 ...
- 2.1 <script>元素【JavaScript高级程序设计第三版】
向 HTML 页面中插入 JavaScript 的主要方法,就是使用<script>元素.这个元素由 Netscape 创造并在 Netscape Navigator 2 中首先实现.后来 ...
- Python核心编程第三版第二章学习笔记
第二章 网络编程 1.学习笔记 2.课后习题 答案是按照自己理解和查阅资料来的,不保证正确性.如由错误欢迎指出,谢谢 1. 套接字:A network socket is an endpoint of ...
- 20.2 解析与序列化【JavaScript高级程序设计第三版】
JSON 之所以流行,拥有与JavaScript 类似的语法并不是全部原因.更重要的一个原因是,可以把JSON 数据结构解析为有用的JavaScript 对象.与XML 数据结构要解析成DOM 文档而 ...
随机推荐
- java 动态代理 和动态编程
概述 代理分两种技术,一种是jdk代理(机制就是反射,只对接口操作),一种就是字节码操作技术.前者不能算技术,后者算是新的技术.未来将有大的动作或者较为广泛的应用和变革,它可以实现代码自我的编码(人工 ...
- Java基础(九)--反射
什么是反射? 在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性 这种动态获取的信息以及动态调用对象的方法的功能称为反射机制. 反射的前 ...
- 【Hadoop】二、HDFS文件读写流程
(二)HDFS数据流 作为一个文件系统,文件的读和写是最基本的需求,这一部分我们来了解客户端是如何与HDFS进行交互的,也就是客户端与HDFS,以及构成HDFS的两类节点(namenode和dat ...
- 这份Koa的简易Router手敲指南请收下
上一期链接--也就是本文的基础,参考KOA,5步手写一款粗糙的web框架 本文参考仓库:点我 Router其实就是路径匹配,通过匹配路径,返回给用户相应的网站内容. 以下方例子为例,主要通过提取req ...
- enote笔记法的思考
章节:enote笔记法的思考 why enote笔记法: key1)大脑喜欢颜色. 我们的大脑天生就喜欢颜色.对颜色很敏感,这是由我们人类过去的演化历程决定的. 你可以理解为,文字有了颜色,让这个 ...
- 洛谷——P1850 换教室
P1850 换教室 有 2n 节课程安排在 nn 个时间段上.在第 i个时间段上,两节内容相同的课程同时在不同的地点进行,其中,牛牛预先被安排在教室 $c_i$ 上课,而另一节课程在教室 $d_i$ ...
- linux常用操作记录
vim:多行注释 vim中多行注释和多行删除命令,这些命令也是经常用到的一些小技巧,可以大大提高工作效率. 多行注释: 1. 首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区 ...
- gulp-file-include 合并 html 文件
gulp-file-include 是 gulp 插件,它提供了一个 include 方法让我们可以像后端模板那样把公共部分的页面导入进来. 安装依赖包(包括了 gulp-file-include 和 ...
- react入门----基础语法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 51NOD欧姆诺姆和项链——KMP算法(非水题)
>>点击进入原题测试<< 思路:好久不见,今天要开始真正写题了.这个题之前我的理解有点问题,导致写了很久最终都是一直都只能过样例.需要注意的是输出中每一个“1”都是和别的输出相 ...