浏览器程序设计

1.模型

文档对象模型(Document Object Model,DOM);浏览器对象模型(Broswer Object Model,BOM)如下:

2.window对象

代表浏览器的框架或浏览器的窗体,它是一个全局对象,故window可省略。常用的方法有:alert(),prompt();属性有:defaultStatus浏览器窗口状态栏默认信息。window对象的某些属性本身也是一个对象,如:

document 浏览器中的页面,

navigator 包含了浏览器自身的相关信息,

history 保存了用户访问过的页面历史信息,

screen 包含了客户端计算机显示器显示能力信息,

location 浏览器加载的当前页面的URL详细信息。

3.history对象

属性:length        获得浏览器历史栈中页面的个数

方法:back()        当前页面的location改变为历史栈中当前页面的后一个页面

            forward()   当前页面的location改变为历史栈中当前页面的前一个页面

            go(n)          以当前页面为基准,在历史栈中前进或后退n个页面

history.go(-1) 等价于 history.back()

history.go(1) 等价于 history.forward()

4.location对象

属性:href hostname port protocol

方法:replace() 从浏览器历史栈中移除当前页面,用新页面替换

注:href导航到新页面,则新页面加载历史栈的顶部

5.screen对象

属性:height          客户端计算机显示屏的垂直高度,以像素为单位

            width            客户端计算机显示屏的水平宽度,以像素为单位

            colorDepth   客户端显示屏颜色的色彩位数

6.document对象

方法:write()

属性:bgColor forms[]

            images[]       对于<img name=myImage src=”us.gif”>的HTML代码,浏览器自动创建对应的img对象,对象名为myImage;页面上的每一个img对象都保存在images[]数组中,如页面的第一幅图片用document.images[0],第二幅图片用document.images[1].也可通过名称来访问images数组中的img对象,如上面的HTML创建的img对象可以通过document.images[“myImage”]访问。

<html>
	<body >
		<img name=img_snow src="" >
		<script language="JavaScript" type="text/javascript">
			var myImages=new Array("monk.jpg","fullmonk.jpg","sexwoman.jpg");
			var imgIndex=prompt("Enter a number from 0 to 2","");
			document.images["img_snow"].src=myImages[imgIndex];
		</script>
	</body>
</html>


             links[]     用于表示页面上所有A对象的集合。对于每一个有href属性的超链接标记<A>,浏览器将创建一个对应的A对象,

7.navigator对象

属性:appName     返回浏览器的原型,如Microsoft Internet Explorer

            userAgent     返回包含了浏览器的版本、操作系统名称、浏览器原型等信息的字符串。

8.将事件处理代码连接到web页面

1) 将事件处理器作为HTML标记的属性

事件处理器代码只有一行的写法:

<A href=”somepage.htm” name=”linkSomePage” οnclick=”alert(‘You Clicked?’)”>Click Me</A>

当事件处理器代码有多行时,可以把事件处理代码定义为一个函数,然后再onclick中调用这个函数,如:

<html>
	<body >
		<script language="JavaScript" type="text/javascript">
			function linkSomePage_onclick()
			{
				alert('You Click?');
				return false;
			}			
		</script>
		<A href="ch5_example3.htm" name="linkSomePage" οnclick="return linkSomePage_onclick()">
			Click Me
		</A>
	</body>
</html>


注解:事件处理器onclick返回的值被Javascrip用来决定超链接是否执行默认行为,即是否链接到新页面;如返回值为true,则执行默认行为,如返回值为false,则不执行链接;对于IE,只有当linkSomePage_onclick()中return false,并且οnclick="return linkSomePage_onclick()"中有return时,才能使onclick返回值为false,即不执行链接行为,其它情况默认执行链接行为。

window对象具有load事件和unload事件,其事件处理器应放在<body>标记中,如:

<body language=”JavaScript” οnlοad=”myOnLoadfunction()” οnunlοad=”myOnUnloadfunctiong()”>

2) 将事件处理器作为浏览器对象的属性

<html>
	<body >
		<script language="JavaScript" type="text/javascript">
			function linkSomePage_onclick()
			{
				alert('This link is going nowhere');
				return false;
			}			
		</script>
		<A href="ch5_example3.htm" name="linkSomePage" >
			Click Me
		</A>
		<script language="JavaScript" type="test/javascript">
			document.links[0].οnclick=linkSomePage_onclick;
		</script>
	</body>
</html>

注:document.links[0].οnclick=linkSomePage_onclick处,函数linkSomePage_onclick后没有圆括号

9.浏览器不支持脚本时怎么办

可以使用<noscript>标记,位于<noscript>标记内额任何HTML代码,尽在浏览器不支持Javascript时或浏览器禁用了Javascript支持时才向用户显示。

 


 

参考:《JavaScript入门经典(第3版)》

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值