javascript高级程序设计之BOM

1、window对象

bom的核心对象是window,表示浏览器的一个实例。在浏览器中,window对象有双重角色,既是通过javascript访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象。即在网页中定义的任何一个对象、变量和函数,都以window作为其Global对象。

差异:全局变量不能通过delete操作符删除,直接在window对象上定义的属性可以。

1.1 窗口关系及框架

页面中包含框架时,每个框架都拥有自己的window对象,并且保存在frames集合中。在frame集合中,可能通过数值索引(从0开始,从左至右,从下至下)或者框架名称来访问相应的window对象。每个window对象都有一个name属性,其中包含框架的名称。

包含top,parent,self

1.2 窗口属性

  • 位置:screenLeft,screenTop,screenX,screenY
  • 大小:innerWidth,innerHeight,outerWidth,outerHeight

outerWidth,outerHeight返回浏览器本身的尺寸。innerWidth,InnerHeight返回容器中页面视图区的大小(减去边框宽度)

也可以通过document.documentElement.clientWidth和document.documentElement.clientHeight(标准模式下)

或者document.body.clientWidth和document.body.clientHeight(混杂模式下)获取

1.3 打开窗口

window.open(URL, name, spec, replace)

URL可选。打开指定的页面的URL,如果没有指定URL,打开一个新的空白窗口
name

可选。支持的值有

_blank:URL加载到一个新的窗口,这是默认

_parent:URL加载到父框架

_self:URL替换当前页面

_top:URL替换任何可加载的框架集

name:窗口名称

specs

可选。一个逗号分隔的项目列表。支持以下值

fullscreen: yes|no 表示浏览器窗口是否最大化。

height:数值,表示新窗口的高度。不能小于100

left:数值。表示新窗口的左坐标。不能是负值

location:yes|no。表示是否在浏览器窗口中显示地址栏。默认no

menubar:yes|no。表示 是否在浏览器窗口中显示菜单栏。默认no

resizable:yes|no。表示是否可以通过拖动浏览器窗口的边框改变其大小。默认no

scrollbars:yes|no.表示如果内容在视口中显示不下,是否允许滚动。默认no

status:yes|no。表示是否在浏览器中显示状态栏。默认no

toolbar:yes|no.表示是否在浏览器中显示工具栏。默认no

top:数值。表示新窗口的上坐标。不能是负值

width:数值。表示新窗口的宽度。不能小于100

replace

规定装载到窗口的URL是在窗口的浏览历史上创建一个新条目,还是替换浏览历史中的当前条目。支持的值

true:URL替换浏览历史中的当前条目

false:URL在浏览历史中创建新的条目

2、location对象

location提供了与当前窗口中加载的文档相关的信息,还提供了一些导航功能。既是window对象的属性,也是document对象的属性

支持的属性

hash“#contents"返回URL中的 hash(#号后跟零或多个字符),如果URL中不包含散列,则返回空字符串
host"www.wrox.com:80"返回服务器名称和端口号(如果有)
hostname”www.wrox.com"返回不带端口号的服务器名称
href“http://www.wrox.com"返回当前加载页面的完整URL。
pathname”/WileyCDA"返回URL中的目录和文件名
port“8080”返回URL中指定的端口号。如果不包含端口号,则返回空字符串
protocol“http:"返回页面使用的协议
search”?q=javascript"返回URL的查询字符串。这个字符串以问号开头

3、Navigator对象

支持的属性

appCodeName浏览器的名称
appName完整的浏览器名称
appVersion浏览器的版本
platform浏览器所在的系统平台
product产品名称
productSub关于产品的次要信息
userAgent浏览器的用户代理字符串
vendor浏览器的品牌
vendorSub有关供应商的次要信息
taintEnabled()已经废弃。表示是否允许变量被修改
oscpu客户端计算机的操作系统或使用的 CPU
language浏览器的主语言
onLine表示浏览器是否连接到了因物网
registerProtocolHandler()针对特定的协议将一个站点注册为处理程序 
registerContentHandler()针对特定的MIME类型将一个站点注册为处理程序
cookieEnabled表示cookie是否启用

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kgduu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值