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
BOM介绍的更多相关文章
- BOM介绍以及方法
BOM介绍和window对象的方法 一.BOM对象 (浏览器对象模型 BOM) 1.window alert() confirm() prompt() setInterval() setTimeo ...
- Day047--JS BOM介绍, jQuery介绍和使用
内容回顾 DOM 文档对象模型(model) 一个模型就是一个对象(属性和方法 面向对象的三大特性:封装 继承 多态) 为了可扩展性 DOM操作 标签属性操作 获取值 getAttribute() 设 ...
- BOM及DOM及事件
知识内容: 1.BOM介绍 2.DOM操作 3.事件 参考:http://www.cnblogs.com/liwenzhou/p/8011504.html 入门代码(DOM基本操作与事件): < ...
- javascript bom操作
BOM BOM介绍 全称 Browser Object Mode 浏览器对象模式 操作浏览器的API接口.比如浏览器自动滚动 Windows对象的顶层部分是BOM的顶层(核心)对象,所有的对象都是通过 ...
- JavaScript中BOM的重要内容总结
一.BOM介绍 BOM(Browser Object Model),浏览器对象模型: 用来操作浏览器部分功能的API: BOM由一系列的对象构成,由于主要用于管理窗口和窗口之间的通讯,所以核心对象是w ...
- python-javascript之bom
BOM BOM介绍 全称 Browser Object Mode 浏览器对象模式 操作浏览器的API接口.比如浏览器自动滚动 Windows对象的顶层部分是BOM的顶层(核心)对象,所有的对象都是通过 ...
- 关于JavaScript的DOM和BOM
本文探讨JavaScript的三大部分中的两个部分,DOM和BOM. DOM介绍 DOM,全称Document Object Model,即文档对象模型.它 是W3C的一个标准,定义了一个对文档操作的 ...
- 前端学习 之 JavaScript DOM 与 BOM
一. DOM介绍 1. 什么是DOM? DOM:文档对象模型.DOM 为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构. 目的其实就是为了能让js操作html元素而制定的一个规范. DOM就 ...
- Java 使用 Maven BOM 统一管理版本号
一个中大型的 Java 项目往往包含若干 JAR 包,这些 JAR 包有着不同的版本号.如果这些 JAR 包单独发布,然后直接通过版本号引用相应的 JAR 包,不同版本的兼容性维护将变得十分麻烦.为了 ...
随机推荐
- Qt解决:Qobject::connect queue arguments of type ‘xxxx’,Make sure ‘xxxx’ is registered using qRegister
解决方法:在调用connect之前,通过 qRegisterMetaType() 注册你connect函数里对象的类型代码如下: typedef QString CustomString;//你自己定 ...
- 2.2 dubbo-spi源码解析
package com.alibaba.dubbo.demo.test; import com.alibaba.dubbo.common.extension.ExtensionLoader; impo ...
- Zindex和png
Z轴在元素设置position为absolute或relative后被激活,起大小由z-index设置,z-index越大,元素位置越靠上.如果多个元素的z-index值相同,那么html标签中后出现 ...
- SharePoint _layouts下自定义程序页面权限管理
在sharepoint中,_layouts下的自定义页面没有特别的权限,只要用户能访问sharepoint站点就可以访问_layouts下的自定义程序页面,现在我们需要给自定义页面做一下权限认证.要求 ...
- SQL 2008 R2 收缩日志,不用修改简单模式
BACKUP LOG jmd8 TO DISK = N'C:\jmd8_20140429014500.trn' WITH NOREWIND, NOUNLOAD USE [JMD8]GODBCC SHR ...
- 关于XSuperMES项目使用的AChartEngine图表引擎
非常多时候项目中我们须要对一些统计数据进行绘制表格,更多直观查看报表分析 结果. 基本有以下几种方法: 1:能够进行android api进行draw这种话.效率比較低 2:使用开源绘表引擎, ...
- HDU 1234 (浙大计算机研究生复试上机考试-2005年) 开门人和关门人 (水)
开门人和关门人 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...
- Trie树分词
http://www.hankcs.com/program/java/tire-tree-participle.html 最近在看Ansj中文分词的源码,以前没有涉足过这个领域,所以需要做一些笔记. ...
- 关于APP接口设计 (转)
转自:http://blog.csdn.net/gebitan505/article/details/37924711 1.效率:接口访问速度 PHP建议使用YAF框架. 最好使用JSON格式数据,因 ...
- Log4j日志体系结构
转自:https://my.oschina.net/andylucc/blog/794867 摘要 我们在写日志的时候首先要获取logger,在每一个使用log4j的项目都有很多个地方要获取logge ...