zoukankan      html  css  js  c++  java
  • 8BOM

    BOM(浏览器对象模型)提供了很多对象,用于访问浏览器的功能,这些功能与任何网页内容无关。

    8.1window对象

    早浏览器中,window对象有两重角色,既是通过JavaScript访问浏览器窗口的一个借口,又是ECMAScript规定的Global对象。

    全局变量会成为window对象的属性。定义全局变量与在window对象上直接定义属性还是有一点差别:全局变量不能通过delete操作符删除,而直接在window对象上定义的属性可以。尝试访问未声明的变量会抛出错误,但是通过查询window对象,可以知道某个未声明的变量是否存在。

    如果页面中包含框架,则每个框架都拥有自己的window对象,并且保存在frames集合中,可以通过数值索引或者框架名称来访问相应的window对象。每个window对象都有一个name属性。top对象始终指向最高(最外)层的框架,也就是浏览器的窗口。parent(父)对象始终指向当前框架的直接上层框架。self对象始终指向window。

    screenLeft和screenTop属性分别用于表示窗口相对于屏幕左边和上边的位置。screenX和screenY属性中提供相同的窗口位置信息。moveTo()和moveBy()方法可以将窗口准确地移动到一个新位置。

    innerWidth、innerHeight、outerWidth和outerHeight属性用来确定浏览器窗口的大小。

    resizeTo()和resizeBy()方法可以调整浏览器窗口的大小。

    使用window.open()方法既可以导航到一个特定的URL,也可以打开一个新的浏览器窗口,可以接收4个参数:要加载的URL、窗口目标、一个特性字符以及一个表示新页面是否取代浏览器历史记录中当前加载页面的布尔值。window.open()方法会返回一个指向新窗口的引用。如果是浏览器内置的屏蔽程序阻止的弹出窗口,那么window.open()很可能会返回null,此时,只要检测这个返回的值就可以确定弹出窗口是否被屏蔽了。如果是浏览器扩展或其他程序阻止的弹出窗口,那么window.open()通常会抛出一个错误。

    JavaScript是单线程语言,但它允许通过设置超时值和间歇时间值来调度代码在特定的时刻执行。超时调用需要使用window对象的setTimeout()方法,接收两个参数:要执行的代码和毫秒表示的时间(即在执行代码前要等待多少毫秒),第一个参数不推荐使用字符串,推荐使用函数。调用setTimeout()之后,该方法会返回一个数值ID,表示超时调用。这个超时调用ID是计划执行代码的唯一标识符,可以通过它来取消超时调用。要取消尚未执行的超时调用,可以调用clserTimeout()方法并将相应的超时调用ID作为参数传递给它。设置间歇调用的方法是setInterval(),接收的参数:要执行的代码(字符串或函数)和每次执行之前需要等待的毫秒数。调用setInterval()方法同样会返回一个间歇调用ID,可以使用clearInterval()方法并传入相应的间歇调用ID。一般认为,使用超时调用来模拟间歇调用时一种最佳模式。

    浏览器通过alter()(接收一个字符串并将其显示给用户)、confirm()和prompt()(这是一个“提示”框,用于提示用户输入一些文本,接收两个参数:要显示给用户的文本和文本输入域的默认值)方法可以调用系统对话框向用户显示消息,通过这几个方法打开的对话框都是同步和模态的。

    8.2 location对象

    location对象提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能,它既是window对象的属性,也是document对象的属性。location对象可以通过很多方式来改变浏览器的位置,location.assign()、window.lacation()、location.href(),hash、search、hostname、pathname和port属性。replace()方法使用户不能回到前一页。reload()方法会重新加载当前显示的页面。

    8.3 navigator对象

    navigator对象已经成为识别客户端浏览器的事实标准。

    可以使用plugin数组来检测浏览器是够安装了特定的插件。

    registerContentHandler()和registerProtocolHandler()方法可以让一个站点指明它可以处理特定类型的信息。registerContentHandler()方法接收三个参数:要处理的MIME类型、可以处理该MIME类型的页面的URL以及应用程序的名称。registerProtocolHandler()方法也接收三个参数:要处理的协议、可以处理该协议的页面的URL以及应用程序的名称。

    8.4 screen对象

    screen对象基本上只用来表明客户端的能力。

    8.5 history对象

    history对象保存着用户上网的历史记录,从窗口被打开的那一刻算起。使用go()方法可以在用户的历史记录中任意跳转,负数表示向后跳转,正数表示向前跳转。也可以给go()方法传递一个字符串参数,此时浏览器会跳转到历史记录中包含该字符串的第一个位置。back()和forward()方法可以模仿浏览器的“后退”和“前进”按钮。

  • 相关阅读:
    Cocos开发中Visual Studio下libcurl库开发环境设置
    Cocos2d-x数据持久化-修改数据
    Cocos2d-x数据持久化-查询数据
    Cocos2d-x中SQLite数据库管理工具
    Cocos2d-x中创建SQLite数据库
    Visual Studio下SQLite数据库开发环境设置
    spring01
    String类的常用方法
    基本数据类型的包装类和随机数
    枚举类的使用
  • 原文地址:https://www.cnblogs.com/dingzibetter/p/6379808.html
Copyright © 2011-2022 走看看