zoukankan      html  css  js  c++  java
  • BOM介绍

    BOM 浏览器对象模型

    BOM (Browser Object Model,浏览器对象模型)提供了通过 JavaScript 访问和控制浏览器窗口(window)、显示器(screen)与浏览历史(history)等对象的接口。

    BOM 并非 W3C 的标准,而是在各家浏览器中逐渐形成的一致性接口。

    BOM 可以看做是 Browser API 的一部分。

    BOM 对象

    ###1.Window

    window 对象代表了一个浏览器窗口(标签)或一个嵌入到页面中的框架(iframe)。
    
    参考:WebPlatform/dom/window
    
    属性
    
    ###applicationCache
    
    返回 ApplicationCache 对象的引用。
    
    ###frames
    
    以数组形式返回页面中的所有框架。
    
    ###closed
    
    窗口是否被关闭。
    
    属性值:
    
    1.true 已关闭
    2.false 未关闭
    ###console
    
    返回 Console 对象的引用。
    
    ###defalutStatus
    
    读取或设置状态栏文本。
    
    ###document
    
    返回 Document 对象的只读引用。
    
    ###frameElement
    
    获取当前框架窗口的 frame 引用。
    
    ###hidden
    
    获取窗口是否隐藏。
    
    ###history
    
    返回 History 对象的只读引用。
    
    ###indexedDB
    
    获取 IDBFactory 对象的引用。
    
    ###innerHeight
    
    返回窗口文档显示区的高度,单位为像素。
    
    ###innerWidth
    
    返回窗口文档显示区的宽度,单位为像素。
    
    注:innerHeight 和 innerWidth 不包含菜单栏、工具栏及滚动条的尺寸。
    
    ###length
    
    获取窗口中的框架数量。
    
    ###location
    
    返回 Location 对象的引用。
    
    ###localStorage
    
    获取 LocalStorage 对象的引用。
    
    ###maxConnectionsPerServer
    
    获取浏览器与每个服务器之间的最大连接数。
    
    ###name
    
    设置或返回窗口标题。
    
    ###navigator
    
    返回 Navigator 对象的只读引用。
    
    ###offscreenBuffering
    
    设置或获取是否屏幕外渲染。
    
    ###opener
    
    返回创建当前窗口的父窗口的引用。
    
    ###outerHeight
    
    返回窗口的外边缘高度。
    
    ###outerWidth
    
    返回窗口的外边缘宽度。
    
    ###pageXOffset
    
    设置或返回当前页面左侧距离文档显示区左侧的距离。
    
    ###pageYOffset
    
    设置或返回当前页面顶部距文档显示区顶部的距离。
    
    ###parent
    
    返回父窗口的引用。
    
    ###screen
    
    返回 Screen 对象的只读引用。
    
    ###self
    
    返回当前窗口的引用,相当于 window。
    
    ###status
    
    设置或读取状态栏的文本信息。
    
    ###top
    
    返回最顶层父窗口的引用。
    
    ###screenLeft/screenX
    
    返回窗口左边缘距显示器左边缘的距离。
    
    ###screenTop/screenY
    
    返回窗口上边缘距显示器上边缘的距离。
    
    ###XMLHttpRequest
    
    获取 XMLHttpRequest 对象的引用。
    
    方法
    
    ###alert()
    
    弹出警告对话框。
    
    语法:
    
    window.alert("msg");
    参数:
    
    1.msg 警告信息,支持转义字符
    弹出的警告对话框中会显示警告信息,窗口底部有一个[确定]按钮。
    
    ###blur()
    
    取消当前窗口的焦点。
    
    语法:
    
    window.blur();
    ###clearInterval()
    
    取消定时器。
    
    语法:
    
    window.clearInterval(interval_id);
    参数:
    
    1.interval_id setInterval() 方法返回的定时器 ID
    ###clearTimeout()
    
    取消计时器。
    
    语法:
    
    window.clearTimeout(timeout_id);
    参数:
    
    1.timeout_id setTimeout() 方法返回的计时器 ID
    ###close()
    
    关闭当前窗口。
    
    语法:
    
    window.close();
    ###confirm()
    
    弹出确认对话框。
    
    语法:
    
    window.confirm("msg");
    参数:
    
    1.msg 提示信息,支持转义字符
    弹出的确认对话框中会显示提示信息,窗口底部有[确定]和[取消]按钮。
    
    返回值:
    
    1.true 用户点击了[确定]按钮
    2.false 用户点击了[取消]按钮
    ###focus()
    
    使当前窗口获取焦点。
    
    语法:
    
    window.focus();
    ###getComputedStyle()
    
    获取对象或伪对象的 CSSStyleDeclaration 属性。
    
    语法:
    
    window.getComputedStyle(elmt,pseudoName);
    参数:
    
    1.elmt 目标对象
    2.pseudoName 伪元素(可选)
    返回值:
    
    1.CSSStyleDeclaration 对象
    ###getSelection()
    
    获取当前的 HTMLSelection 对象。
    
    ###item()
    
    取得对象中指定的子对象。
    
    语法:
    
    obj.item(name,index);
    参数:
    
    1.name name/id 属性值或索引值(从 0 开始)
    2.index 索引值
    ###matchMedia()
    
    获取 MediaQueryList 对象。
    
    语法:
    
    obj.matchMedia();
    ###moveBy()
    
    根据指定的偏移量移动窗口。
    
    语法:
    
    window.moveBy(x,y);
    参数:
    
    1.x 横向移动距离(向右为正)
    2.y 纵向移动距离(向下为正)
    ###moveTo()
    
    将窗口移动到指定位置。
    
    语法:
    
    window.moveTo(x,y);
    参数:
    
    1.x 目标点横坐标
    2.y 目标点纵坐标
    ###open()
    
    打开新的窗口,或修改已存在的窗口。
    
    语法:
    
    window.open(url,name,features,replace);
    参数:
    
    1.url 要在新窗口中载入的 URL
    2.name 新窗口的名称(标识符)
    3.features 新窗口特征列表(参考下面的列表,多个值之间使用 , 分隔)
    4.replace 是否替换窗口的历史记录条目(true:替换历史记录;false:新建历史记录)
    ####窗口特征列表
    
    channelmode ??
    
    yes/1 启用
    no/0 关闭
    directories ??
    
    yes/1 启用
    no/0 关闭
    fullscreen ??
    
    yes/1 启用
    no/0 关闭
    height 文档显示区高度
    
    px 像素值
    width 文档显示区宽度
    
    px 像素值
    left 窗口 x 坐标
    
    px 像素值
    top 窗口 y 坐标
    
    px 像素值
    location ??
    
    yes/1 启用
    no/0 关闭
    menubar ??
    
    yes/1 启用
    no/0 关闭
    resizable ??
    
    yes/1 启用
    no/0 关闭
    scrollbars ??
    
    yes/1 启用
    no/0 关闭
    status ??
    
    yes/1 启用
    no/0 关闭
    titlebar ??
    
    yes/1 启用
    no/0 关闭
    toolbar ??
    
    yes/1 启用
    no/0 关闭
    ####实际表现(Chrome 27):
    
    新建标签:
    
    window.open();
    window.open("","id");
    新标签中打开页面:
    
    window.open("http://www.w3school.com.cn");
    window.open("http://www.w3school.com.cn","id");
    window.open("http://www.w3school.com.cn","id","");
    打开新窗口,应用位置和尺寸属性:
    
    window.open("http://www.w3school.com.cn","id","left=100,top=100,width=400,height=400");
    其他属性无效。
    
    ###print()
    
    打印当前页面(等同于执行浏览器的打印功能)。
    
    语法:
    
    window.print();
    ###prompt()
    
    显示输入对话框。
    
    语法:
    
    window.prompt(text,default);
    参数:
    
    1.text 提示信息,支持转义字符
    2.default 默认文本
    弹出的输入对话框中会显示提示信息,窗口中间有一个文本框,底部有[确定]和[取消]按钮。
    
    返回值:
    
    1.文本框中的文本 用户点击了[确定]按钮
    2.null 用户点击了[取消]按钮
    ###resizeBy()
    
    根据指定的像素调节窗口大小。
    
    语法:
    
    window.resizeBy(x,y);
    参数:
    
    1.x 窗口宽度变化值
    2.y 窗口高度变化值
    x、y 为像素数。当其值 >0 时,窗口增大;< 0 时,窗口缩小。
    
    ###resizeTo()
    
    调节窗口大小到指定的尺寸。
    
    语法:
    
    window.resizeTo(x,y);
    参数:
    
    1.x 窗口宽度
    2.y 窗口高度
    ###scrollBy()
    
    滚动当前页面。
    
    语法:
    
    window.scrollBy(x,y);
    参数:
    
    1.x 横向滚动距离(向右为正)
    2.y 纵向滚动距离(向下为正)
    ###scrollTo()/scroll()
    
    滚动当前页面到指定位置。
    
    语法:
    
    window.scrollTo(x,y);
    参数:
    
    1.x 目标位置横坐标
    2.y 目标位置纵坐标
    ###setInterval()
    
    定义定时器。
    
    语法:
    
    window.setInterval("func",millisec);
    参数:
    
    1.func 定时调用的函数名称(字符串格式)
    2.millisec 定时器周期(毫秒)
    func 函数会在设定的时间间隔后被 重复执行 ,直到使用 clearInterval(interval_id) 清除了该定时器。
    
    返回值:
    
    interval_id 定时器的 ID
    ###setTimeout()
    
    定义计时器。
    
    语法:
    
    window.setTimeout("func",millisec);
    参数:
    
    1.func 延迟调用的函数名称(字符串格式)
    2.millisec 计时器时长(毫秒)
    func 函数会在设定的时间后被 执行一次 ,可以使用 clearTimeout(timeout_id) 清除该计时器。
    
    返回值:
    
    timeout_id 计时器的 ID

    ###2.Navigator

    navigator 对象包含了浏览器的相关信息。

    属性

    plugins

    以数组形式返回页面中的嵌入对象。

    appCodeName

    浏览器代码名称。

    appMinorVersion

    浏览器的次要版本号。

    appName

    浏览器名称。

    appVersion

    包括浏览器的平台及版本信息。

    browserLangauge

    浏览器的语言。

    cookieEnabled

    是否已启用 cookie。

    cpuClass

    CPU 信息。

    onLine

    在线模式/脱机模式。

    platform

    运行平台。

    systemLangauge

    浏览器所在系统使用的语言。

    userAnget

    用户代理信息。

    userLangauge

    浏览器所在系统使用的语言。

    方法

    javaEnabled()

    检测浏览器是否启用了 Java。

    语法:

    navigator.javaEnabled();

    返回值:

    1.true 已启用
    2.false 已禁用

    taintEnabled()

    检测浏览器是否启用了 data tainting。

    语法:

    navigator.taintEnabled();

    返回值:

    1.true 已启用
    2.false 已禁用

    ###3.Screen

    screen 对象包含了显示器屏幕的相关信息。

    属性

    ###availHeight

    返回屏幕窗口显示区域的高度(不高扩任务栏)。

    ###availWidth

    返回屏幕窗口显示区域的宽度(不高扩任务栏)。

    ###bufferDepth

    设置或返回调色板比特值。

    ###colorDepth

    设置或返回设备或缓冲器的调色板比特值。

    ###deviceXDPI

    返回屏幕水平 DPI(每英寸点数)。

    ###deviceYDPI

    返回屏幕垂直 DPI(每英寸点数)。

    ###fontSmoothingEnabled

    返回是否启用了字体平滑。

    ###height

    返回屏幕高度。

    ###localXDPI

    返回屏幕水平 DPI(每英寸点数)。

    ###localYDPI

    返回屏幕垂直 DPI(每英寸点数)。

    ###pixelDepth

    返回屏幕的颜色分辨率。

    ###updateInterval

    设置或返回屏幕的刷新频率。

    ###width

    返回屏幕宽度。

    ###4.History

    history 对象代表了浏览历史。

    属性

    ###length

    历史列表的长度(浏览过的页面数量)。

    方法

    ###back()

    加载历史列表中的前一个页面(后退一步)。

    语法:

    history.back();

    ###forward()

    加载历史列表中的下一个页面(前进一步)。

    语法:

    history.forward();

    ###go()

    加载历史列表中指定的页面。

    语法:

    history.go(n);

    参数:

    1.n 要加载的页面与当前页面的相对距离(0 代表当前页面;-1 代表上一个页面)

    ###5.Location

    location 对象包含了当前页面 URL 的相关信息。

    属性

    ###hash

    设置或返回当前 URL 中的锚信息(从 # 开始的部分)。

    ###host

    设置或返回当前 URL 中的主机名和端口号。

    ###hostname

    设置或返回当前 URL 中的主机名。

    ###href

    设置或返回当前 URL。

    ###pathname

    设置或返回当前 URL 中的路径部分。

    ###port

    设置或返回当前 URL 中的端口号。

    ###protocol

    设置或返回当前 URL 的协议。

    ###search

    设置或返回当前 URL 中的查询信息(以 ? 开始的部分)。

    方法

    ###assign()

    加载新页面。

    语法:

    location.assigh(url);

    参数:

    1.url 要加载的页面 URL

    ###reload()

    重新加载当前页面。

    语法:

    location.reload(force);

    参数:

    1.force 是否强制重新加载(从服务器重新加载,忽略本地缓存)。true 强制重新加载;false 重新加载。该参数可选,默认为 false

    ###replace()

    加载新页面,并替换当前页面(不产生新的历史记录)。

    语法:

    location.assigh(url);

    参数:

    1.url 要加载的页面 URL

  • 相关阅读:
    iOS5.1下emoji表情显示方框的解决办法
    iPhone处理图片(UIImage扩展类) 自动适应frame大小方法
    10个必需的iOS开发工具和资源
    转一篇:iOSOpenDev环境搭建以及使用
    自定义UITabbarController引发的血案
    (转) iphone开发资源汇总
    分类分享一下,关于push推送的经验吧
    关于IPHONE的设计模式
    IOS自动化打包介绍
    带有可变参数表的简化的printf函数
  • 原文地址:https://www.cnblogs.com/ys-wuhan/p/6986756.html
Copyright © 2011-2022 走看看