JavaScript高程学习笔记之BOM(8)

来源:互联网 发布:淘宝话费券 编辑:程序博客网 时间:2024/06/05 07:11

        • window对象
          • 1 全局作用域
          • 2 窗口关系及框架
          • 3 窗口位置
          • 4 窗口大小
          • 5 导航和打开窗口
          • 6 间歇调用和超时调用
          • 7 系统对话框
        • location对象
          • 1 查询字符串参数
          • 2 位置操作
        • navigator对象
          • 1 检测插件
          • 2 注册处理程序
        • screen对象
          • history对象


1. window对象

1.1 全局作用域

全局变量与window属性的区别:全局变量不可用delete操作符删除,window属性可以
访问未定义变量会抛出错误,查询window对象可以知道变量是否存在

1.2 窗口关系及框架

每个框架都拥有自己的window对象,并且保存在frames集合中,可以通过数值索引来访问

<frameset rows="160,*">    <frame src="frame.htm" name="topFrame">    <frameset cols="50%,50%">        <frame src="anotherframe.htm" name="leftFrame">        <frame src="yetanotherframe.htm" name="rightFrame">    </frameset></frameset>

最好通过top.frames[0]来访问相应的框架
parent对象:指向当前框架的直接上层框架
self对象:它始终指向window

1.3 窗口位置

screenLeft属性和screenTop属性,分别表示窗口相对于屏幕左边和上边的位置

1.4 窗口大小

innerWidth、innderHeight、outerWidth、outerHeight
window.innerWidth、window.innerHeight
resizeTo()和resizeBy()方法调整浏览器窗口大小

1.5 导航和打开窗口

window.open()方法,要加载的URL、窗口目标、一个特性字符串以及一个表示新页面是否取代浏览器历史记录中当前加载页面的布尔值
窗口屏蔽程序

        var blocked = false;        try {            var wroxWin = window.open("http://www.wrox.com", "_blank");            if (wroxWin == null){                blocked = true;            }        } catch (ex){            blocked = true;        }        if (blocked){            alert("The popup was blocked!");        }
1.6 间歇调用和超时调用

JavaScript允许设置超时值和间歇时间值来调度代码在特定的时间执行
setTimeout()方法和clearTimeout()来超时调用和取消超时
setInterval()方法clearInterval()来间隔调用和取消间隔

1.7 系统对话框

aletr()、confirm()和prompt()调用系统对话框向用户提供消息

2. location()对象

提供了与当前窗口中加载的文档有关信息,还提供一些导航功能

2.1 查询字符串参数
        function getQueryStringArgs(){            //get query string without the initial ?            var qs = (location.search.length > 0 ? location.search.substring(1) : ""),                //object to hold data                args = {},                //get individual items                items = qs.length ? qs.split("&") : [],                item = null,                name = null,                value = null,                //used in for loop                i = 0,                len = items.length;            //assign each item onto the args object            for (i=0; i < len; i++){                item = items[i].split("=");                name = decodeURIComponent(item[0]);                value = decodeURIComponent(item[1]);                if (name.length){                    args[name] = value;                }            }            return args;        }        //assume query string of ?q=javascript&num=10        var args = getQueryStringArgs();        alert(args["q"]);     //"javascript"        alert(args["num"]);   //"10"
2.2 位置操作

assign()方法:改变浏览器位置
location.href属性
replace()方法:禁止“后退”导航到前一个页面
reload()方法:重新加载当前的页面

3. navigator对象

识别客户端浏览对象

3.1 检测插件

plugins数组
name:插件的名字
description:插件的描述
filename:插件的文件名
length:插件所处理的MIME类型数量
编写检测插件函数程序

3.2 注册处理程序

reisterContentHandler()和registerProtocolHandle()方法
让一个站点指明它可以处理特定的信息

4 screen对象

表明客户端的能力,其中包括浏览器窗口外部的显示信息,如像素宽度和高度等。

5. history对象

保存用户上网的历史记录

原创粉丝点击