js 笔记 第一章在html中使用<javascript>标签 以及 html文档模式
2012-09-25 22:33
891 查看
1、<javascript> 标签的defer 属性:延迟脚本执行
使用defer='defer' 属性可以让脚本在文档完全呈现完之后再执行,延迟脚本总是按照指定他们的顺序执行的。
2、<javascript> 标签的async属性: 表示当前的脚本不必等待其他脚本,也不必阻塞文档的呈现。但是不能保证异步脚本按照他们在页面中执行的顺序执行。
上面这段代码 ,会先执行alert('nihao'); 再想文档中输出asdfasdfasdf,再执行a.js、执行b.js
3、文档模式
以XHTML 1.0为例:
XHTML 1.0中有3种DTD(文档类型定义)声明可以选择:过渡的(Transitional)、严格的(Strict)和框架的(Frameset)。这里分别介绍如下。
1.过渡的
一种要求不很严格的DTD,允许在页面中使用HTML4.01的标识(符合xhtml语法标准)。过渡的DTD的写法如下:
2.严格的
一种要求严格的DTD,不允许使用任何表现层的标识和属性,例如<br/>等。严格的DTD的写法如下:
3.框架的
一种专门针对框架页面所使用的DTD,当页面中含有框架元素时,就要采用这种DTD。框架的DTD的写法如下:
ps:
使用严格的DTD来制作页面,当然是最理想的方式。但是,对于没有深入了解Web标准的网页设计者,比较合适的是使用过渡的DTD。因为这种DTD还允许使用表现层的标识、元素和属性,比较适合大多数网页制作人员。
二、什么是标准模式与混杂模式?
不同文档模式主要影响CSS内容的呈现,尤其是浏览器对盒模型的解析,但在某些情况下也会影响到JavaScript的解释执行。
1、文档模式目前有四种:
混杂模式(quirks mode)
//让IE的行为与(包含非标准特性的)IE5相同
标准模式(standards mode)
//让IE的行为更接近标准行为
准标准模式(almost standards mode)
//这种模式下的浏览器特性有很多都是符合标准的,不标准的地方主要体现在处理图片间隙的时候(在表格中使用图片时问题最明显)。
超级标准模式:
//IE8引入的一种新的文档模式,超级文档模式可以让IE以其所有版本中最符合标准的方式来解释网页内容。
ps:
总的来看,混杂模式让IE像IE5,标准模式使用IE7的呈现引擎,而超级标准模式则是IE8的默认文档模式。
2、如何触发文档模式:
§ 触发混杂模式:
如果在文档开始处没有发现文档类型声明,则所有浏览器都会默认开启混杂模式。但采用混杂模式不是什么值得推荐的做法,因为不同浏览器在这种模式下的行为差异非常大,如果不使用某些hack技术,跨浏览器的行为根本就没有一致性可言。
触发标准模式:
触发准标准模式:
IE8中关闭超级标准模式:
//content属性中IE的值用于指定使用哪个版本的呈现引擎来呈现页面。设计这个值的目的就是为了向后兼容那些专门为老版本的IE设计的站点和页面。
使用defer='defer' 属性可以让脚本在文档完全呈现完之后再执行,延迟脚本总是按照指定他们的顺序执行的。
2、<javascript> 标签的async属性: 表示当前的脚本不必等待其他脚本,也不必阻塞文档的呈现。但是不能保证异步脚本按照他们在页面中执行的顺序执行。
<!DOCTYPE html> <html> <head> <title>Test</title> <script type="text/javascript" defer="defer"> alert('nihao'); </script> <script type="text/javascript" async src="./a.js"></script> <script type="text/javascript" defer="defer" src="./b.js"></script> </head> <body> asdfasdfasdf </body> </html>
上面这段代码 ,会先执行alert('nihao'); 再想文档中输出asdfasdfasdf,再执行a.js、执行b.js
3、文档模式
以XHTML 1.0为例:
XHTML 1.0中有3种DTD(文档类型定义)声明可以选择:过渡的(Transitional)、严格的(Strict)和框架的(Frameset)。这里分别介绍如下。
1.过渡的
一种要求不很严格的DTD,允许在页面中使用HTML4.01的标识(符合xhtml语法标准)。过渡的DTD的写法如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2.严格的
一种要求严格的DTD,不允许使用任何表现层的标识和属性,例如<br/>等。严格的DTD的写法如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3.框架的
一种专门针对框架页面所使用的DTD,当页面中含有框架元素时,就要采用这种DTD。框架的DTD的写法如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
ps:
使用严格的DTD来制作页面,当然是最理想的方式。但是,对于没有深入了解Web标准的网页设计者,比较合适的是使用过渡的DTD。因为这种DTD还允许使用表现层的标识、元素和属性,比较适合大多数网页制作人员。
二、什么是标准模式与混杂模式?
不同文档模式主要影响CSS内容的呈现,尤其是浏览器对盒模型的解析,但在某些情况下也会影响到JavaScript的解释执行。
1、文档模式目前有四种:
混杂模式(quirks mode)
//让IE的行为与(包含非标准特性的)IE5相同
标准模式(standards mode)
//让IE的行为更接近标准行为
准标准模式(almost standards mode)
//这种模式下的浏览器特性有很多都是符合标准的,不标准的地方主要体现在处理图片间隙的时候(在表格中使用图片时问题最明显)。
超级标准模式:
//IE8引入的一种新的文档模式,超级文档模式可以让IE以其所有版本中最符合标准的方式来解释网页内容。
ps:
总的来看,混杂模式让IE像IE5,标准模式使用IE7的呈现引擎,而超级标准模式则是IE8的默认文档模式。
2、如何触发文档模式:
§ 触发混杂模式:
如果在文档开始处没有发现文档类型声明,则所有浏览器都会默认开启混杂模式。但采用混杂模式不是什么值得推荐的做法,因为不同浏览器在这种模式下的行为差异非常大,如果不使用某些hack技术,跨浏览器的行为根本就没有一致性可言。
触发标准模式:
<!-- HTML 4.01 严格型 --> <!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <!-- XHTML 1.0 严格型 --> <!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
触发准标准模式:
<!-- HTML 4.01 过渡型 --> <!DOCTYPE HTMLPUBLIC "-//W3C//DTD HTML 4.01Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!-- HTML 4.01 框架集型 --> <!DOCTYPE HTMLPUBLIC "-//W3C//DTD HTML 4.01Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <!-- XHTML 1.0 过渡型 --> <!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!-- XHTML 1.0 框架集型 --> <!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
IE8中关闭超级标准模式:
<metahttp-equiv="X-UA-Compatible" content="IE=7" />
//content属性中IE的值用于指定使用哪个版本的呈现引擎来呈现页面。设计这个值的目的就是为了向后兼容那些专门为老版本的IE设计的站点和页面。
相关文章推荐
- js 笔记 第一章在html中使用<javascript>标签 以及 html文档模式
- html的锚标签<a>中使用javascript代码
- <学习html>第八天笔记-HTML5文档类型和字符集、HTML5新标签与特性(常用新标签、新增input type属性值、常用新属性、多媒体标签)
- js正则:匹配一个html的tagname的开始标签,主要是解决包含&lt;&gt;(正则的效率问题建议不使用)
- <a>标签中写有文字,如何隐藏文字以及360模式渲染
- 在JS里面,取struts的<html:form>标签里面的<html:text property="title"/>值
- 第一章 js简介& 第二章 在HTML中使用JavaScript
- JavaScript入门<3>JS外置对象:HTML DOM与Window子对象实例详解
- Javascript笔记一 js以及json基础使用说明
- <html:select>,<html:option>,<html:options>,<html:optionsCollection>标签使用
- js笔记一:在HTML中使用javascript
- html中<base>标签的使用,和简介
- HTML <fieldset> 标签使用方法
- HTML学习---------1.14 在文本中插入一行或多行代码使用的标签<code> <pre>
- 详解HTML<head> 头标签元素的意义以及使用场景
- <学习html>第六天笔记-表单标签(input控件、label标签)
- 前端HTML<img>标签图像的属性和使用/图像img与背景background的区别
- 韩顺平_轻松搞定网页设计(html+css+javascript)_第34讲_js超级玛丽小游戏_学习笔记_源代码图解_PPT文档整理
- 我的Android进阶之旅------>Android中使用HTML作布局文件以及调用Javascript
- 韩顺平_轻松搞定网页设计(html+css+javascript)_第28讲_js二维数组_js冒泡排序_二分查找_学习笔记_源代码图解_PPT文档整理