[学习笔记]BOM(浏览器对象模型)中的常用对象

5.3 BOM
window----document----anchors, forms, images, links, location
--frames
--history
--location
--navigator
--screen
5.3.1 window对象
是整个BOM的核心,表示整个浏览器窗口。如果页面使用框架集合,每个框架都有自己的window对象表示,存放在frames集合中。
top指的是最顶层的框架,即浏览器窗口自身。
parent
self
1. 窗口操作
window.moveBy(dx,dy)
window.moveTo(x,y)
window.resizeBy(dx,dy)
window.resizeTo(x,y)

* IE 提供了window.screenLeft和window.screenTop对象来判断窗口的位置,但是未提供任何判断窗口大小的方法。用 document.body.offsetWidth和document.body.offsetHeight属性可以获取视口的大小(显示HTML页的区域),但它们不是标准属性
* Mozilla提供window.screenX,window.screenY属性判断窗口的位置,还提供了window.innerWidth和window.innerHeight属性判断视口的大小,window.outerWidth和 window.outerHeight判断浏览器窗口自身的大小。
* Opera和Safari提供与Mozilla相同的工具。


2. 导航和打开新窗口
window.open("http://www.wrox.com/", "topFrame", "height=150,width=300,top=10,left=10,resizable=yes"):
最多4个参数:
要载入新窗口的页面的URL;
新窗口的名字: 或者_self, _parent, _top, _blank
特性字符串: 用逗号分割,都好前后不能有空格。包括left, top, height, width, resizable, scrollable, toolbar, status, location
说明是否用新载入的页面替换当前载入的页面。
返回:window对象
举例:var openWin = window.open("http://www.wrox.com", "wroxwindow", "");
可以调用close()方法关闭新创建的窗口openWin.close()─只对新创建的窗口有效。
新窗口还可以对打开它的窗口有引用,放在opener数刑种,只有最高层window对象才有opener属性,可以用top.opener访问。

3. 系统对话框
alert("")
confirm("Are you sure?"):返回Boolean值
prompt("What's your name?", "Michael"):返回文本框中的值这些对话框都是系统窗口,都是模式的。

4. 状态栏
status:使状态栏的文本暂时改变;
defaultStatus:

5. 时间间隔和暂停
var iTimeoutId = setTimeout("alert('show me!')", 1000);
返回一个数字暂停的id,可以取消它:
clearTimeout(iTimeoutId);

6. 历史
window.history.go(-1);
history.back(), history.forward();
history.length: 历史的页面数量

5.3.2 document对象
通用的属性
alinkColor, bgColor, fgColor, lastModified, referer, title, URL, vlinkColor
集合:anchors, applets, embeds, forms, images, links

5.5.3 location对象
hash: 如果url包含#,返回#及之后的内容
host:服务器的名字
hostname:等于host
href:当前载入的页面的完整url
pathname:url中主机名后的部分
port:端口
protocol:
search:?后面的部分

重定向:location.href="", 或者location.assign("")
重新载入:location.reload()
不让包含脚本的页面能从浏览器历史中访问,用:location.replace("")

location是window和document共同的属性

5.5.4 navigator对象
一般用于获取浏览器类型

5.5.5 screen对象
availHeight, availWidth, colorDepth, height, width
可以这样填充屏幕:
window.moveTo(0,0);
window.resizeTo(screen.availWidth, screen.availHeight);

    推荐阅读