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 包,不同版本的兼容性维护将变得十分麻烦.为了 ...
随机推荐
- [leetcode]Candy @ Python
原题地址:https://oj.leetcode.com/problems/candy/ 题意: There are N children standing in a line. Each child ...
- Learning to rank相关的pointwise,pairwise,listwise
论文分享--- >Learning to Rank: From Pairwise Approach to Listwise Approach 学习排序 Learning to Rank 小结 [ ...
- Subset II leetcode java
题目: Given a collection of integers that might contain duplicates, S, return all possible subsets. No ...
- C#基础知识整理:C#类和结构(1)
1.结构功能特性? 实现代码?结构用struct关键字定义的,与类类似,但有本质区别.结构实质是一个值类型,它不需要对分配的.结构的特性:(1).结构作为参数传递时,是值传递.(2).结构的构造函数必 ...
- Packagist 镜像使用方法--composer
镜像用法 有两种方式启用本镜像服务: 系统全局配置: 即将配置信息添加到 Composer 的全局配置文件 config.json 中.见“方法一” 单个项目配置: 将配置信息添加到某个项目的 com ...
- 4.3 使用 SQL 语句操作数据框
下载并安装 “sqldf” 包 library(sqldf) newData <- sqldf("select * from mtcars where carb=1 order by ...
- Eclipse里选一个变量后,这个类里的该变量不变色了
使用“Alt+Shift+O”对该提示功能的开/关切换
- .NET MVC-去掉验证
将@Html.ValidationMessage("sortid")代码去掉 将if (ModelState.IsValid)验证代码去掉
- Android中创建PopupMenu弹出式菜单
之前写过一篇创建option menu的文章:Android中创建option menu 本文主要是讲如何创建PopupMenu弹出式菜单 1.首先创建menu文件menu2.xml: <?xm ...
- asp.net使用include包含文件
么?用asp.net使用include包含文件?……有必要吗?使用“用户控件”不是更好吗? 当然,绝大多数情况下,用户控件都能解决问题.但若要在用户控件中需包含其他公用块,即使用用户控件嵌套,老是出问 ...