本章介绍window对象的属性和方法,这些属性和方法允许控制浏览器以及它们的窗口和frame
1.计时器:window对象的setTimeout()方法用来安排一个函数在指定的毫秒数过去之后运行
setInterval()指定的函数在一个指定的毫秒数的间隔里重复地调用
可以传递一个函数或者一个字符串作为它们的第一个参数
应用:当用户将鼠标停留在某个文档元素上超过半秒中的时候,如果要显示一个工具提示,可以使用setTimeout()来调度工具提示显示代码
如果鼠标在代码触发前离开了,可以使用clearTimeout()来取消掉计划的代码
setInterval()可用来调度执行动画的代码,setTimeout()方法在浏览器执行完所有的事件句柄并完成当前文档的当前状态更新后执行,查询或修改文档内容的事件必须调用这个方法来作为延迟,直到文档处于一个稳定的状态。
2.浏览器Location和History
这两个对象提供了当前显示的文档的URL的访问,并且允许载入新的文档或者让浏览器后退(或前进)到一个之前浏览过的文档
(1)解析URL
window.location可代替window.location.href,location对象的其他属性包括(protocol,host,pathname和search等)则分别标明了URL的各个部分
http://192.168.1.140:74/?com=com_contents&view=contentlist
可以使用search属性得到问号之后的那部分URL
通用的函数getArgs(),可以用这个函数将参数从URL的search属性中提取出来
function getArgs()
{
var args=new Object();
var query=location.search.substring(1);
var pairs=query.split("&");
for(var i=0;i<pairs.length;i++)
{
var pos=pairs[i].indexOf('=');
if(pos==-1) continue;
var argname=pairs[i].substring(0,pos);
var value=pairs[i].substring(pos+1);
value=decodeURIComponent(value);
args[argname]=value;
}
return args;
}
3.history对象
支持back(),forward()和go()三个方法
4.获取窗口,屏幕和浏览器信息
获取窗口大小和位置的信息
(1)window.outerWidth,window.outerHeight浏览器窗口在桌面的大小
(2)window.screenX,window.screenY窗口的位置
(3)window.innerWidth,window.innerHeight HTML文档显示的视口大小,除去菜单栏,工具栏等窗口的大小
(4)window.pageXOffset,window.pageYOffset这些值指明了水平和垂直的滚动条位置
注意,这些属性是只读的
5.打开窗口
window.open("smallwin.html","smallwin","width=400,height=350,status=yes,resizable=yes");
第一个参数:是要在新窗口中显示的文档的URL,可为null或者空字符串
第二个参数:是新开窗口的名字
第三个参数:特性列表,如上例中,弹出的是一个较小的可调整的浏览器窗口,它只具有状态栏
在新窗口中运行的Javascript要引用打开它的窗口,可以使用opener
6.关闭窗口
window.close()
7.moveTo()可以将窗口的左上角移动到指定的坐标,moveBy()可以将窗口上,下,左,右移动指定像素
resizeTo()和resizeBy()可以按照相对数量和绝对数量调整窗口的大小
8.focus()会请求系统将键盘焦点赋予窗口,blur()则会放弃焦点
9.滚动:scrollBy(),scrollTo(),offsetLeft,offsetTop,focus(),定义锚点window.location.hash="#top";
10.简单对话框
alert(),confirm(),prompt()
if(!confirm(message)) return;