BOM——浏览器对象模型(Browser_Object_Model)
- 格式:doc
- 大小:292.00 KB
- 文档页数:13
Javascript》复习题一、选择题1.JavaScript是(B) .A.一种Java 编程语言,不同的是它可以用于网页开发B.一种解释性的、用于客户端的、基于对象的程序开发语言C.一种用于Mozilla的Firefox浏览器和Microsoft的Internet Explorer浏览器的网页开发语言D.一种用于制作网页动画效果的程序开发语言2.JavaScript程序在不同的浏览器上运行时,将(A)得到相同的效果。
A.一定B.不一定3.在浏览器上运行JavaScript程序,可以(D)A.动态显示网页内容B.校验用户输入的内容C.进行网页的动画显示D.具有以上各种功能4.编写JavaScript时,(C)A.应使用专门的JavaScript编辑软件B.只能使用Microsoft FrontPage软件C.可以使用任何一种文本编辑软件D.只能使用Macromedia Dreamweaver软件5.在HTML文件中编写JavaScript程序时,应使用标记(C)A.<javascript〉B.<scripting〉C.〈script>D.<js>6.在HTML文件中编写JavaScript程序时,使用标记〈!-— //-—〉表示(C)A.注释语句B.重点突出语句C.对于不支持JavaScript程序的浏览器,隐藏程序内容D.没有任何意义7.使用外部JavaScript程序文件的正确格式是(B)A.<script href=”xxx。
js" type="text/javascript"〉B.<script src=”xxx。
js" type=”text/javascript”>C.<script name=”xxx。
js” type="text/javascript”>D.〈script file="xxx。
浏览器对象的使⽤(window对象)window对象是BOM的核⼼,window对象指当前的浏览器窗⼝。
window对象⽅法:注意:在JavaScript基础篇中,已讲解了部分属性,window对象重点讲解计时器。
1、JavaScript 计时器在JavaScript中,我们可以在设定的时间间隔之后来执⾏代码,⽽不是在函数被调⽤后⽴即执⾏。
计时器类型:⼀次性计时器:仅在指定的延迟时间之后触发⼀次。
间隔性触发计时器:每隔⼀定的时间间隔就触发⼀次。
计时器⽅法:2、计时器setInterval()在执⾏时,从载⼊页⾯后每隔指定的时间执⾏代码。
clearInterval() ⽅法可取消由 setInterval() 设置的交互时间。
语法:setInterval(代码,交互时间); //计时器clearInterval(id_of_setInterval)//取消计时器参数说明:1. 代码:要调⽤的函数或要执⾏的代码串。
2. 交互时间:周期性执⾏或调⽤表达式之间的时间间隔,以毫秒计(1s=1000ms)。
3.id_of_setInterval:由 setInterval() 返回的 ID 值。
返回值:⼀个可以传递给 clearInterval() 从⽽取消对"代码"的周期性执⾏的值。
调⽤函数格式(假设有⼀个clock()函数):setInterval("clock()",1000)或setInterval(clock,1000)我们设置⼀个计时器,每隔100毫秒调⽤clock()函数,并将时间显⽰出来,代码如下:<script type="text/javascript">var int=setInterval(clock, 100)function clock(){var time=new Date();document.getElementById("clock").value = time;}</script>每隔 100 毫秒调⽤ clock() 函数,并显⽰时间。
Javascript一、javascript 概念:是一种由Netscape的LiveScript发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。
于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。
其作用是用来在页面中编特效的语言,和HTML/CSS一样都是由浏览器解析的。
二、Javascript结构:ECMAScript:js 变量关键字数据类型运算符流程控制循环内置对象DOM:document object mode文档对象模型(看成文档对象)BOM:brows object model 浏览器对象模型(把浏览器看成对象)说明:三、Javascript语法及其ECMAScript:1.Js是运行:从上到下,从左到右执行1.1 JS作用域链即是AO链说明:JS运行分为词法分析期和运行期,但是在运行执行之前,就要对其词法分析,在函数运行的前一瞬间,将会创建Action Object对象.在词法分析的时候由外到内分析AO 链,执行的时候由内到外寻找AO链词法分析:①分析参数:把函数声明的参数,形成Action对象的属性,参数值即为属性值,未赋值那么形成属性后的属性值全都是undefine②分析变量声明:把声明的变量,形成Action的属性,如果Action对象已有该属性,那么将覆盖原来的属性,如果没有该属性,那么将添加该变量为属性,③分析函数声明:把函数赋给Action对象属性,如果已有该属性那么就将覆盖原来的类别说明Javascript 95%都在使用,基本上在网上看到的特效都是用Js做的它是微软开发的和javascript语法相似,并且和javascript都是jscript遵循同一个标准Vbscript Vb程序员经常用applet 是把java语法嵌入到html中Js嵌入方式:①:<script> js代码</script>②连接地址触发js:<a href=”javascript:alert(触发开始)”>demo</a>③form表单触发:action=”javascript:alert( 触发)”说明:①在页面中嵌入javascript,可以再任何地方嵌入,如果是嵌入javascript就直接可以:<script>js代码</scirpt>②如果是嵌入其他类型的那么我们就要这样:<script language=’jscript’>js代码</scirpt>。
目录如何使用BHO定制你的Internet Explorer浏览器 (2)一、简介(Introduction) (2)二、关于软件定制(Program Customization) (2)三、什么是BHO? (What Are Browser Helper Objects?) (2)四、BHO的生存周期(The Lifecycle of Helper Objects) (4)五、关于IObjectWithSite接口(The IObjectWithSite Interface) (5)六、构造自己的BHO对象(Writing a Browser Helper Object) (6)七、探测谁在调用这个对象Detecting Who's Calling (7)八、与Web浏览器取得联系Get in Touch with WebBrowser (8)九、从Internet Explorer浏览器取得事件Getting Events from the Browser (9)十、存取文档对象Accessing the Document Object (10)十一、管理代码窗口Managing the Code Window (12)十二、注册BHO对象Registration of Helper Objects (13)十三、总结Summary (13)Browser Helper Objects: The Browser the Way You Want It (13)Introduction(简介) (14)Program Customization(关于软件定制) (14)What Are Browser Helper Objects?(什么是BHO?) (15)The Lifecycle of Helper Objects (BHO的生存周期) (17)The IObjectWithSite Interface(关于IObjectWithSite接口) (19)Writing a Browser Helper Object(构造自己的BHO对象) (20)Detecting Who's Calling(七探测谁在调用这个对象) (22)Get in Touch with WebBrowser(八与Web浏览器取得联系) (23)Getting Events from the Browser(九从Internet Explorer浏览器取得事件) . 24 Accessing the Document Object(十存取文档对象) (25)Managing the Code Window(十一管理代码窗口) (29)Registration of Helper Objects(十二注册BHO对象) (30)Summary(总结) (30)如何使用BHO定制你的Internet Explorer浏览器原文:微软公司 Dino Esposito编译:朱先中原文出处:Browser Helper Objects: The Browser the Way You Want It一、简介(Introduction)有时,你可能需要一个定制版本的浏览器。
DOM详解⼀、简介DOM即(Document Object Model):⽂档对象模型,⽤来将标记型⽂档封装成对象,并将标记型⽂档中的所有内容(标签、⽂本、属性等)都封装成对象。
即标记型⽂档的⼀种解析⽅式。
因为封装为对象就可以对其中的属性和⾏为进⾏调⽤,以便于对这些⽂档及⽂档中的内容进⾏更⽅便的操作。
DOM解析⽅式:将标记型⽂档解析为⼀颗dom树,⽽树中的内容都封装为节点对象。
按照标签的层次关系体现出标签的所属,形成⼀个树状结构。
所以我们将DOM解析⽂档形成的document对象称为dom树,⽽树中的标签以及⽂本甚⾄属性称为节点。
这个节点也称为对象。
标签通常也称为页⾯中的元素。
注意:这个DOM解析的好处是可以对树中的节点进⾏任意操作,如增删查改。
但也有弊端:这种解析需要将标记型⽂档加载进内存。
意味着如果⽂档体积很⼤时较为浪费空间。
⼆、另⼀种解析⽅式:SAX是由⼀些组织定义的⼀种民间常⽤的解析⽅式,并不是w3c标准,⽽DOM是w3c的标准。
SAX的解析⽅式:基于事件驱动的解析。
好处:获取数据的速度快。
弊端:不遵从增删查改操作。
三、DOM三种模型DOM level 1:将html⽂档封装成对象。
DOM level 2:在level1的基础上加⼊了新功能,⽐如解析名称空间。
DOM level 3:将xml⽂档封装成了对象。
四、DHTML:动态html不是⼀门语⾔,⽽是多项技术综合体的简称,这些技术包括HTML、CSS、DOM、JavaScript。
四种技术(语⾔)在动态html中扮演的⾓⾊:HTML:⽤标签封装数据。
即负责提供标签,对数据进⾏封装,⽬的是便于对该标签中的数据进⾏操作。
CSS:对数据样式进⾏定义。
即负责提供样式属性,对标签中的数据进⾏样式的定义。
DOM:将⽂档和标签等所有内容进⾏解析。
即负责将标记型⽂档及⽂档中的内容进⾏解析。
并封装成对象,在对象中定义了更多的属性和⾏为,便于对对象进⾏操作。
Browser 对象Web浏览器。
Browser测试对象的名称取自title属性值或title属性值的一部分。
目录∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙导航至浏览器历史列表中的上一页。
方法等价于单机浏览器上的“后退”按钮。
CaptureBitmap(FullFileName,[OverrideExisting])将此对象的屏幕捕获内容保存为.png,名称为指定的文件名检查对象的实际值是否匹配检查点中的预期值CheckProperty(PropertyName,ExpectPropertyValue,[TimeOut]检查对象的属性值在指定时间内是否等于期望值返回对象中包含的子对象的集合,对于在录制结构中非父对象的对象(除了Browser、Page、Frame外的任何对象)而言,这个方法将返回空值。
关闭浏览器窗口。
导航至浏览器历史记录列表中的下一页,此方法等价于单击游览器的“前进”按钮。
以全屏模式显示浏览器。
返回对象属性的当前值返回用于标识对象的属性和值的集合返回测试对象描述中指定属性的值导航至在浏览器设置中配置的主页。
此方法等价于单击浏览器的“主页”按钮。
在浏览器中打开指定的 URL。
检索项目的当前值并将其存储在指定位置刷新浏览器中的对象。
此方法等价于单击浏览器的“刷新”按钮。
设置测试对象描述中指定属性的值。
设置对象库对象的属性值。
在测试运行时,改变用于识别对象的属性值,对象库中的值没有影响。
停止在浏览器中进行导航。
此方法等价于单击浏览器的“停止”按钮。
等待浏览器完成当前导航。
返回能够标识当前测试对象的字符串在指定时间内检查对象的属性值是否等于期望值,返回结果为bool类型,属性获得期望值则返回true,如果在属性获得期望值前超时则返回false访问浏览器的内部方法和属性。
JS(JavaScript) ⼀、JavaScript,运⾏于JavaScript解释器中的,解释型脚本语⾔ 1、JavaScript主要⽤途:JavaScript主要读写HTML元素、在⽹页中嵌⼊动态⽂本、动态修改CSS样式表;对浏览器事件做出响应、表单数据验证、检测访客的浏览器信息等; 2、JavaScript的相关应⽤:验证数据;页⾯特效;数值计算;动态页⾯效果 3、JavaScript位置:我们可以将JavaScript代码放在html⽂件中任何位置,但是我们⼀般放在⽹页的head或者body部分;放在<head>部分,最常⽤的⽅式是在页⾯中head部分放置<script>元素,浏览器解析head部分就会执⾏这个代码,然后才解析页⾯的其余部分;放在<body>部分,JavaScript代码在⽹页读取到该语句的时候就会执⾏。
4、JavaScript引⽤⽅式:1、使⽤<script>标签在HTML⽂件中添加JavaScript代码;2、单独创建⼀个JavaScript⽂件(简称JS⽂件),其⽂件后缀通常为.js,然后将JS代码直接写在JS⽂件中,在HTML中添加如下代码,就可将JS⽂件嵌⼊HTML⽂件中,<script src="script.js"> </script> ;3、放置在HTML标签以on开头的属性即事件处理程序中; 5、JavaScript输出:1、使⽤Windows.alert()弹出警告框;2、使⽤Document.write()⽅法将内容写到HTML⽂档中( document对象,代表整个HTML ⽂档,可⽤来访问页⾯中的所有元素);3、使⽤innerHTML写⼊到HTML元素;4、使⽤console.log()写⼊到浏览器的控制台; 6、⼀个完整的JavaScript实现,应该由以下三个部分组成:1、核⼼,ECMAScript;2、⽂档对象模型,DOM,document object model;3、浏览器对象模型,BOM,browser object model; 通过核⼼对象,DOM对象,BOM对象,作⽤于HTML元素 ⼆、JavaScript核⼼ 1、数据类型,JavaScript数据类型有以下⼏种:数值型:数字可以带⼩数点,也可以不带;字符串型:⽤引号包围的⽂本;布尔型:只有两个取值,true false,⾮0或⾮空为true;null类型:表⽰从未赋值的值,只有⼀种取值null,引⽤⼀个没有定义的变量,返回null;undefined类型:专门⽤来确定⼀个已经创建但是没有初值的变量; 数值型,在JavaScript中,所有的数字都是浮点型; 当⼀个数字直接出现在JavaScript程序中时,被称为数值直接量,JavaScript⽀持的数值直接量有整型数据、⼗六进制和⼋进制数据、浮点型数据,注意,负号,是⼀元求反运算符,不是数值直接量的⼀部分; toFixed() ⽅法,可把number四舍五⼊为指定⼩数位数的数字,返回值为string类型,typeof,查看数据类型 字符串型,字符串string 是由Unicode字符、数字、标点符号等组成的序列,它是JavaScript⽤来表⽰⽂本的数据类型; 字符串型的数据包含在单引号和双引号中;由单引号定界的字符串中可以包含双引号,由双引号定界的字符串中也可以包含单引号;可以采取内双外单的形式让输出的字符串带双引号,如果外双的形式,让字符串带双引号,可以采取转义字符 \" ;字符串可以⽤+号进⾏连接运算; 布尔型,布尔数据类型只有两个值,这两个合法的值分别由直接量true和false表⽰,它表⽰某个事物是真或假; JavaScript在必要的时候,将true转化为1,将false转化为0 null类型,null,它表⽰值为空,⽤于定义空的或者不存在的引⽤;如果引⽤⼀个没有定义的变量,则返回⼀个null值,null不等同于空字符串和0; 未定义类型,未定义类型的变量是undefined,表⽰变量还没有赋值,或者赋予⼀个不存在的属性值,此外,JavaScript中还有⼀种特殊类型的数字常量NaN,即“⾮数字”,当程序由于某种原因计算错误后,将产⽣⼀个没有意义的数字,此时JavaScript返回的数值就是NaN null undefined的区别是,null表⽰⼀个变量被赋予⼀个空值,⽽undefined则表⽰该变量尚未被赋值 转义字符型,以反杠开头的,不可显⽰的特殊字符通常称为控制字符,也被称为转义字符;在document.write( )语句中使⽤转义字符时,只有将其放在格式化⽂本标签<pre></pre>中才会起作⽤ Object类型,复合数据类型;值为基本数据类型的组合; 复合数据类型,json的遍历 JavaScript JSON,JSON 英⽂全称 JavaScript Object Notation,是独⽴的语⾔,⽤于存储和传输数据的格式,通常⽤于服务端向⽹页传递数据; JSON 语法规则:数据为键 / 值对;数据由逗号分隔;⼤括号保存对象;⽅括号保存数组; JSON 格式化后为 JavaScript 对象,JSON 格式在语法上与创建 JavaScript 对象代码是相同的,所以 JavaScript 程序可以很容易的将JSON 数据转换为 JavaScript 对象; <!DOCTYPE html><meta charset="utf-8"><title></title></head><body><script>var text = '{ "sites" : [' +'{ "name":"Runoob" , "url":"" },' +'{ "name":"Google" , "url":"" },' +'{ "name":"Taobao" , "url":"" } ]}';document.writeln(typeof text + "<br/>");var obj = JSON.parse(text);document.writeln(typeof obj.sites + "<br/>");/* obj = obj.sites;for(var i=0; i<obj.length; ++i){document.write(obj[i].name + " " + obj[i].url + "<br/>") ;} */for(var i=0; i<obj.sites.length; ++i)document.write(obj.sites[i].name + " " + obj.sites[i].url + "<br/>") ;</script></body></html> 数据类型的⾃动转换,当字符串与其它类型⽤+连接,其它类型会转为字符串,其它的运算符-,*,/,%都会转换成Number类型;数据类型的强制转换,parseInt(),parseFloat()函数; typeof运算符,把类型信息⽤字符串返回,返回值有6种,number, string, boolean, object, undefined, function 2、变量,变量的主要作⽤是存取数据,提供存放信息的容器;JavaScript 是弱类型语⾔,对变量的定义不需要声明变量类型;JavaScript的变量是动态类型,相同变量可⽤作不同的类型;变量可以⽤关键字var显式声明,隐式声明的变量为全局变量;使⽤var可以同时声明多个变量,变量可以赋值(可以是不同数据类型值),也可以不赋值,只声明未赋值的变量,默认值为undefined; 3、函数,函数的定义是使⽤function关键字实现的,格式如下:function函数名(形式参数列表){函数体语句块;} 函数与其他JavaScript⼀样,必须位于<script></script>标记之间;函数可以有返回值吗,也可以没有返回值,返回值是通过return关键字加表达式实现的;函数的调⽤:作为函数直接调⽤;作为对象的⽅法调⽤;作为构造函数;通过call和apply⽅法间接调⽤; JavaScript 能够在事件发⽣时执⾏,因此,HTML DOM 事件可以调⽤函数,⽐如onmouseover事件;<!DOCTYPE html><html><head><meta charset="utf-8"><title></title></head><body><p id="bgcolor" onmouseover="myfunction()" style="background-color: red;color:#FFFFFF;">⿏标指上⾯改变背景⾊</p><script>function myfunction(){var element=document.getElementById("bgcolor");if(element.style.backgroundColor.match("red")){element.style.backgroundColor = "blue";element.style.color = "#FFFFFF";element.innerHTML = "⿏标再指上⾯改变背景⾊";}else{element.style ="background-color: red;";element.style.color = "#FFFFFF";element.innerHTML = "⿏标指上⾯改变背景⾊";}}</script></body></html> 变量的作⽤域<script>var a = "全局变量";function myfun(){document.write(a);var a = "内部变量";document.write(a);document.write(a);</script> 图⽚切换<!DOCTYPE html><html><head><meta charset="UTF-8"><title>图⽚切换</title></head><style>#image{display: block;width: 500px;height: 180px;margin: 10px auto;}#next{margin-left: 350px;}</style><body><img src="./images/1.gif" id="image" /><button id="next">next</button><button id="prev">prev</button><script>var image = document.getElementById('image');var next = document.getElementById("next");var prev = document.getElementById('prev');var nowIndex = 1;var count = 6;next.onclick = function(){nowIndex = nowIndex+1>count?1:nowIndex+1;image.src = "img/"+nowIndex+".jpg";}prev.onclick = function(){nowIndex = nowIndex<=1?count:nowIndex-1;image.src = "img/"+nowIndex+".jpg";}</script></body></html> 4、控制语句,控制语句,if,if else,switch,while,for,try catch try catch<script>var txt="";function message(){try {adddlert("Welcome guest!"); //函数名错误}catch(exception){txt="本页有⼀个错误。
Dom属性⽅法⼀、javascript的三⼤核⼼ 1.ECMAScript js的语法标准 2.DOM Document object Model ⽂档对象模型,提供的⽅法可以让js操作html标签 3.BOM Browser Object Model 浏览器对象模型,提供的⽅法让js可以操作浏览器注意:1. js⾥最⼤的boss是window,document只是window下的⼀个对象2. document.documentElement 这个东西可以拿到htmldocument(在⽂档⾥,document是⽼⼤)|html/ \/ \/ \body head/ / | \/ / | \/ / | \/ | \ meta title style.../ | \/ | \div p ul...//a⼆、DOM的属性js ---> DOM --> html js通过DOM去操作html标签1. childNodes 返回当前对象下的所有⼦节点对象,会返回⽂本节点注意:在ie8下只会返回元素节点2. nodeType 返回节点类型,元素节点返回1 ⽂本节点返回3 注释节点返回83. children 返回对象下所有⼦元素节点,并且没有兼容问题4. firstChild 返回第⼀个⼦节点,在IE8跟childNodes⼀样的表现5. lastChild 返回最后⼀个⼦节点同上6. firstElementChild 返回最后⼀个元素节点,不兼容IE87. nextSibling 下⼀个兄弟节点在主流的浏览器,可能会拿到除了元素节点以外的节点,在IE8⾥,只会返回元素节点,如果没有就返回null8. previousSibling 上⼀个兄弟节点同上9. nextElementSibling 下⼀个兄弟元素节点如果没有返回null 不兼容IE67810. previousElementSibling 上⼀个同上11. parentNode * 返回⽗节点没有兼容性12. offsetParent 返回定位⽗级,如果都没有找到,最后返回body上,没有兼容问题 13.nodeName 返回标签的构造器标签名⼤写字母三、DOM的⼀些⽅法 createElement(‘p’) 这个⾥⾯是标签 新建元素节点,需要接受⼀个参数,参数就是需要新建的标签。
什么是DOMDOM是“DocumentObjectModel”(文档对象模型)的首字母缩写。
D就是Document(文档),如果没有document(文档),DOM也就无从谈起。
当创建了一个网页并把它加载到Web浏览器中时,DOM就在幕后悄然而生。
它将根据你编写的网页文档创建一个文档对象。
O就是Object(对象),在人类语言中,“对象”这个词的含义往往不那么明确和具体,它几乎可以用来称呼任何一种客观存在的事物。
但在程序设计语言中,“对象”这个词的含义非常明确和具体。
Javacript中“对象”是一种独立的数据集合。
与某个特定对象相关联的变量被称为这个对象的属性;可以通过某个特定对象去调用的函数被称为这个对象的方法。
JavaScript语言里的对象可以分为三种类型:●用户定义对象(uer-definedobject):由程序员自行创建的对象(类)。
这里我们不讨论这种对象。
●内建对象(nativeobject):内建在JavaScript语言里的对象,如Array、Math和Date等。
这里我们不讨论这种对象。
●宿主对象(hotobject):由浏览器提供的对象,这里是我要重点介绍的。
宿主对象它们当中最基础的是window对象,window对象对应着浏览器窗口本身,这个对象的属性和方法通常被统称为BOM(浏览器对象模型)————但我觉得称之为WindowObjectModel(窗口对象模型)更为贴切。
不过在这里我们将把注意力集中在浏览器窗口的内部,我们将着重探讨如何对网页的内容进行处理,而用来实现这一目标的载体就是document对象。
(呵呵,在我们的代码中,“document”出现的频率十分频繁)现在,我们已经对DOM中的字母“D”(document,文档)和字母“O”(object,对象)做了解释,那么字母“M”又代表着什么呢?M就是Model(模型),但说它代表着“Map”(地图)也未尝不可。
HTML概要知识点梳理一、了解HTML的概念HTML是超文本标记语言,他是随着阅读器(IE 谷歌)的进展而诞生出来的一种标记语言,是一种用来制作超文本文档的语言。
(注意:他并非是一种编程语言列如:c c++ vb.........).明白得:所谓标记语言咱们能够把它明白得为一中符号标记,不同的符号有着不同成效。
超文本:包括声音,图片,影视等等。
二、熟练把握HTML的文档结构。
那个地址需要注意的地址<head> <title></title> </head>假设题目标签书写错误解致使文档无法显示。
(尽管阅读器此刻能够自动补全代码)3、标签的分类块记标签:<p></p> <h1></h1>....<h6></h6><ol> <ul> (常常利用与带有列表的数据或菜单)<li></li> <li></li></ol> </ul><dl> (常常利用数据描述)<table> (常与大数据|表单布局场合)<dt></dt> (题目)<tr><dd></dd> (内容)<td colspan="2"|rowspan="4"></td> (跨行列归并)</tr></dl> </table<div></div> (常常利用与页面布局)<hr/> (绘制一条水平线一样用于网页脚部)<form></form>(用于表单数据)<a hrfe = “#”></a> (超链接| 锚链接)行级标签:<img src = “”alt = “提示文字”title = “提示文字”></img><span></span> (用于改变某个单一字体的样式)<br/>(换行)把握灵活运用实际开发中常常利用的4中布局结构:一、div-ul(ol)-li :常常利用于分类导航或菜单等二、div-dl-dt-dd :常常利用于图文混编的场合3、table-tr-td :常常利用于图文布局或显示数据4、form-table-tr-td:常常利用于布局表单注意编写适应:一、标签名和属性名称尽可能小写(属性值具有语义化)二、HTML标签必需成对显现。
BOM——浏览器对象模型(BrowserObject Model)什么是BOM?--- 模型是所研究的系统、过程、事物或概念的一种表达形式!∙BOM是Browser Object Model的缩写,简称浏览器对象模型∙BOM提供了独立于内容而与浏览器窗口进行交互的对象∙由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window ∙BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性∙BOM缺乏标准,JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C(WHATWG,WebHypertextApplicationTechnologyWorkingGroup——网页超文本应用程序技术工作组目前正在努力促进BOM的标准化)∙BOM最初是Netscape浏览器标准的一部分基本的BOM体系结构图能利用BOM做什么?BOM提供了一些访问窗口对象的一些方法,我们可以用它来移动窗口位置,改变窗口大小,打开新窗口和关闭窗口,弹出对话框,进行导航以及获取客户的一些信息如:浏览器品牌版本,屏幕分辨率。
但BOM最强大的功能是它提供了一个访问HTML页面的一入口——document对象,以使得我们可以通过这个入口来使用DOM的强大功能!!!window对象是BOM的顶层(核心)对象,所有对象都是通过它延伸出来的,也可以称为window的子对象。
由于window是顶层对象,因此调用它的子对象时可以不显示的指明window对象,例如下面两行代码是一样的:window -- window对象是BOM中所有对象的核心。
window对象表示整个浏览器窗口,但不必表示其中包含的内容。
此外,window还可用于移动或调整它表示的浏览器的大小,或者对它产生其他影响。
window子对象∙document 对象∙frames 对象∙history 对象∙location 对象∙navigator 对象∙screen 对象window对象关系属性∙parent:如果当前窗口为frame,指向包含该frame的窗口的frame (frame)∙self :指向当前的window对象,与window同意。
(window对象)∙top :如果当前窗口为frame,指向包含该frame的top-level的window 对象∙window :指向当前的window对象,与self同意。
∙opener :当窗口是用javascript打开时,指向打开它的那人窗口(开启者)window对象定位属性∙IE提供了window.screenLeft和window.screenTop对象来判断窗口的位置,但未提供任何判断窗口大小的方法。
用 offsetHeight属性可以获取视口的大小(显示HTML页的区域),但它们不是标准属性。
∙Mozilla提供window.screenX和window.screenY属性判断窗口的位置。
它还提供了window.innerWidth和window.innerHeight属性来判断视口的大小,window.outerWidth和window.outerHeight属性判断浏览器窗口自身的大小。
window对象的方法窗体控制moveBy(x,y)——从当前位置水平移动窗体x个像素,垂直移动窗体y个像素,x为负数,将向左移动窗体,y为负数,将向上移动窗体moveTo(x,y)——移动窗体左上角到相对于屏幕左上角的(x,y)点,当使用负数做为参数时会吧窗体移出屏幕的可视区域resizeBy(w,h)——相对窗体当前的大小,宽度调整w个像素,高度调整h个像素。
如果参数为负值,将缩小窗体,反之扩大窗体resizeTo(w,h)——把窗体宽度调整为w个像素,高度调整为h个像素窗体滚动轴控制scrollTo(x,y)——在窗体中如果有滚动条,将横向滚动条移动到相对于窗体宽度为x个像素的位置,将纵向滚动条移动到相对于窗体高度为y个像素的位置scrollBy(x,y)——如果有滚动条,将横向滚动条移动到相对于当前横向滚动条的x个像素的位置(就是向左移动x像素),将纵向滚动条移动到相对于当前纵向滚动条高度为y个像素的位置(就是向下移动y像素)窗体焦点控制focus()——使窗体或控件获取焦点blur()——与focus函数相反,使窗体或控件失去焦点新建窗体open()——打开(弹出)一个新的窗体close()——关闭窗体opener属性——新建窗体中对父窗体的引用,中文"开启者"的意思window.open方法语法open方法参数说明∙url -- 要载入窗体的URL∙name -- 新建窗体的名称(目标,将在a 标签的target属性中用到,当与已有窗体名称相同时将覆盖窗体内容).open函数默认的打开窗体的方式为target的_blank弹出方式,因此页面都将以弹出的方式打开∙features -- 代表窗体特性的字符串,字符串中每个特性使用逗号分隔∙replace -- 一个布尔值,说明新载入的页面是否替换当前载入的页面,此参数通常不用指定open函数features参数说明,如果不使用第三个参数,将打开一个新的普通窗口open方法返回值为一个新窗体的window对象的引用对话框alert(str)——弹出消息对话框(对话框中有一个“确定”按钮)confirm(str)——弹出消息对话框(对话框中包含一个“确定”按钮与“取消”按钮)prompt(str,defaultValue)——弹出消息对话框(对话框中包含一个“确定”按钮、“取消”按钮与一个文本输入框),由于各个浏览器实现的不同,若没有第二个参数(文本框中的默认值)时也最好提供一个空字符串状态栏window.defaultStatus 属性——改变浏览器状态栏的默认显示(当状态栏没有其它显示时),浏览器底部的区域称为状态栏,用于向用户显示信息window.status 属性——临时改变浏览器状态栏的显示时间等待与间隔函数setTimeout()——暂停指定的毫秒数后执行指定的代码clearTimeout()——取消指定的setTimeout函数将要执行的代码setInterval()——间隔指定的毫秒数不停地执行指定的代码clearInterval()——取消指定的setInterval函数将要执行的代码setTimeout与setInterval方法有两个参数,第一个参数可以为字符串形式的代码,也可以是函数引用,第二个参数为间隔毫秒数,它们的返回是一个可用于对应clear方法的数字IDHistory对象,在浏览器历史记录中导航History 对象的属性:length 返回浏览器历史列表中的 URL 数量History 对象的方法∙back() 加载 history 列表中的前一个 URL∙forward() 加载 history 列表中的下一个 URL∙go(num) 加载 history 列表中的某个具体页面Location 对象Location 对象的属性∙hash 设置或返回从井号 (#) 开始的 URL(锚)∙host 设置或返回主机名和当前 URL 的端口号∙hostname 设置或返回当前 URL 的主机名∙href 设置或返回完整的 URL∙pathname 设置或返回当前 URL 的路径部分∙port 设置或返回当前 URL 的端口号∙protocol 设置或返回当前 URL 的协议∙search 设置或返回从问号 (?) 开始的 URL(查询部分)Location 对象的方法∙assign() 加载新的文档,这与直接将一个URL赋值给Location对象的href属性效果是一样的∙reload() 重新加载当前文档,如果该方法没有规定参数,或者参数是false,它就会用 HTTP 头 If-Modified-Since 来检测服务器上的文档是否已改变。
如果文档已改变,reload() 会再次下载该文档。
如果文档未改变,则该方法将从缓存中装载文档。
这与用户单击浏览器的刷新按钮的效果是完全一样的。
如果把该方法的参数设置为 true,那么无论文档的最后修改日期是什么,它都会绕过缓存,从服务器上重新下载该文档。
这与用户在单击浏览器的刷新按钮时按住 Shift 健的效果是完全一样。
∙replace() 用新的文档替换当前文档,replace() 方法不会在 History 对象中生成一个新的纪录。
当使用该方法时,新的 URL 将覆盖 History 对象中的当前纪录。
Navigator对象Navigator 对象的属性∙appCodeName 返回浏览器的代码名∙appName 返回浏览器的名称∙appVersion 返回浏览器的平台和版本信息∙browserLanguage 返回当前浏览器的语言∙cookieEnabled 返回指明浏览器中是否启用 cookie 的布尔值∙cpuClass 返回浏览器系统的 CPU 等级∙onLine 返回指明系统是否处于脱机模式的布尔值∙platform 返回运行浏览器的操作系统平台∙systemLanguage 返回 OS 使用的默认语言∙userAgent 返回由客户机发送服务器的 user-agent 头部的值∙userLanguage 返回 OS 的自然语言设置框架与多窗口通信子窗口与父窗口只有自身和使用window.open方法打开的窗口和才能被JavaScript访问,window.open方法打开的窗口通过window.opener属性来访问父窗口。
而在opener窗口中,可以通过window.open方法的返回值来访问打开的窗口!框架window.frames集合:在框架集或包含iframe标签的页面中,frames集合包含了对有框架中窗口的引用在框架集中还可以使用ID来获取子窗口的引用子窗口访问父窗口——window对象的parent属性子窗口访问顶层——window对象的top属性浏览器检测市场上的浏览器种类多的不计其数,它们的解释引擎各不相同,期待所有浏览器都一致的支持JavaScript,CSS,DOM,那要等到不知什么时候,然而开发者不能干等着那天。
历史上已经有不少方法来解决浏览器兼容问题了,主要分为两种:erAgent字符串检测,2.对象检测;当然,也不能考虑所有的浏览器,我们需要按照客户需求来,如果可以确信浏览网站的用户都使用或大部分使用IE浏览器,那么你大可放心的使用IE专有的那些丰富的扩展,当然,一旦用户开始转向另一个浏览,那么痛苦的日子便开始了。
下面是市场上的主流浏览器列表:∙Internet Explorer∙Mozilla Firefox∙Google Chrome∙Opera∙Safari注意,浏览器总是不断更新,我们不但要为多种浏览器作兼容处理,还要对同一浏览器多个版本作兼容处理。