JavaScript-BOM对象(Browser Object Model)

一.BOM对象(Browser Object Model)

BOM是Browser Object Model浏览器对象模型,用于管理浏览器窗口,因此其核心对象是window对象  
功能:
    1.弹出新浏览器窗口的能力;
    2.移动、关闭和更改浏览器窗口大小的能力;
    3.可提供WEB浏览器详细信息的导航对象;
    4.可提供浏览器载入页面详细信息的本地对象;
    5.可提供用户屏幕分辨率详细信息的屏幕对象;
    6.支持Cookies;

window对象的子对象:
    document 对象
    frames 对象
    navigator 对象
    screen 对象
    location 对象
    history 对象

BOM最有用的功能是提供了入口document对象(DOM对象),通过这个入口可以访问/操作Html文档!
window对象是BOM的顶层(核心)对象,所有对象都是通过它延伸出来的,也可以称为window的子对象。
由于window是顶层对象,因此调用子对象时可以不显示指明window对象
例如:
    document.write("BOM");
    window.document.write("BOM");       

二.Window对象

Window对象表示浏览器中打开的窗口,
如果文档包含框架(<frame>或<iframe>标签),浏览器会为HTML文档创建一个window对象,
并为每个框架frame创建一个额外的window对象

1.Window对象属性

closed  返回窗口是否已被关闭。
defaultStatus   设置或返回窗口状态栏中的默认文本。
document    对 Document 对象的只读引用。请参阅 Document 对象。
history 对 History 对象的只读引用。请参数 History 对象。
innerheight 返回窗口的文档显示区的高度。
innerwidth  返回窗口的文档显示区的宽度。
length  设置或返回窗口中的框架数量。
location    用于窗口或框架的 Location 对象。请参阅 Location 对象。
name    设置或返回窗口的名称。
Navigator   对 Navigator 对象的只读引用。请参数 Navigator 对象。
opener  返回对创建此窗口的窗口的引用。
outerheight 返回窗口的外部高度。
outerwidth  返回窗口的外部宽度。
pageXOffset 设置或返回当前页面相对于窗口显示区左上角的 X 位置。
pageYOffset 设置或返回当前页面相对于窗口显示区左上角的 Y 位置。
parent  返回父窗口。
Screen  对 Screen 对象的只读引用。请参数 Screen 对象。
self    返回对当前窗口的引用。等价于 Window 属性。
status  设置窗口状态栏的文本。
top 返回最顶层的先辈窗口。
window  window 属性等价于 self 属性,它包含了对窗口自身的引用。
screenLeft  
screenTop
screenX
screenY
    只读整数。声明了窗口的左上角在屏幕上的的 x 坐标和 y 坐标。
    IE、Safari 和 Opera 支持 screenLeft 和 screenTop,
    而 Firefox 和 Safari 支持 screenX 和 screenY。

2.Window对象方法

alert() 显示带有一段消息和一个确认按钮的警告框。
blur()  把键盘焦点从顶层窗口移开。
clearInterval() 取消由 setInterval() 设置的 timeout。
clearTimeout()  取消由 setTimeout() 方法设置的 timeout。
close() 关闭浏览器窗口。
confirm()   显示带有一段消息以及确认按钮和取消按钮的对话框。
createPopup()   创建一个 pop-up 窗口。
focus() 把键盘焦点给予一个窗口。
moveBy()    可相对窗口的当前坐标把它移动指定的像素。
moveTo()    把窗口的左上角移动到一个指定的坐标。
open()  打开一个新的浏览器窗口或查找一个已命名的窗口。
print() 打印当前窗口的内容。
prompt()    显示可提示用户输入的对话框。
resizeBy()  按照指定的像素调整窗口的大小。
resizeTo()  把窗口的大小调整到指定的宽度和高度。
scrollBy()  按照指定的像素值来滚动内容。
scrollTo()  把内容滚动到指定的坐标。
setInterval()   按照指定的周期(以毫秒计)来调用函数或计算表达式。
setTimeout()    在指定的毫秒数后调用函数或计算表达式。

三.Navigator对象

Navigator对象包含有关浏览器的信息

1.Navigator对象属性

appCodeName 返回浏览器的代码名。
appMinorVersion 返回浏览器的次级版本。
appName 返回浏览器的名称。
appVersion  返回浏览器的平台和版本信息。
browserLanguage 返回当前浏览器的语言。
cookieEnabled   返回指明浏览器中是否启用 cookie 的布尔值。
cpuClass    返回浏览器系统的 CPU 等级。
onLine  返回指明系统是否处于脱机模式的布尔值。
platform    返回运行浏览器的操作系统平台。
systemLanguage  返回 OS 使用的默认语言。
userAgent   返回由客户机发送服务器的 user-agent 头部的值。
userLanguage    返回 OS 的自然语言设置。

2.Navigator对象方法

javaEnabled()   指定是否在浏览器中启用Java
taintEnabled()  规定浏览器是否启用数据污点(data tainting)

四.Screen对象

Screen对象存放着有关显示浏览器屏幕的信息

Screen对象属性

availHeight 返回显示屏幕的高度 (除 Windows 任务栏之外)。
availWidth  返回显示屏幕的宽度 (除 Windows 任务栏之外)。
bufferDepth 设置或返回调色板的比特深度。
colorDepth  返回目标设备或缓冲器上的调色板的比特深度。
deviceXDPI  返回显示屏幕的每英寸水平点数。
deviceYDPI  返回显示屏幕的每英寸垂直点数。
fontSmoothingEnabled    返回用户是否在显示控制面板中启用了字体平滑。
height  返回显示屏幕的高度。
logicalXDPI 返回显示屏幕每英寸的水平方向的常规点数。
logicalYDPI 返回显示屏幕每英寸的垂直方向的常规点数。
pixelDepth  返回显示屏幕的颜色分辨率(比特每像素)。
updateInterval  设置或返回屏幕的刷新率。
width   返回显示器屏幕的宽度。

五.Location对象

Location对象包含有关当前URL的信息(当前窗口的Web地址)

1.Location对象属性

hash    设置或返回从井号 (#) 开始的 URL(锚)。
host    设置或返回主机名和当前 URL 的端口号。
hostname    设置或返回当前 URL 的主机名。
href    设置或返回完整的 URL。
pathname    设置或返回当前 URL 的路径部分。
port    设置或返回当前 URL 的端口号。
protocol    设置或返回当前 URL 的协议。
search  设置或返回从问号 (?) 开始的 URL(查询部分)。

2.Location对象方法

assign()    加载新的文档。
reload()    重新加载当前文档。
replace()   用新的文档替换当前文档。

六.History对象

History对象包含用户(在浏览器窗口中)访问过的URL.
这个对象属于历史遗留对象,对于现代Web页面来说,由于大量使用AJAX和页面交互,调用history.back()可能会让用户愤怒!
任何情况,都不应该使用history对象!!!

1.History对象属性

length      返回浏览器历史列表中的 URL 数量。

2.History对象方法

back()      加载 history 列表中的前一个 URL。
forward()   加载 history 列表中的下一个 URL。
go()        加载 history 列表中的某个具体页面。

简书: http://www.jianshu.com/p/b685a0f19f74
CSDN博客: http://blog.csdn.net/qq_32115439/article/details/78268362#t12
GitHub博客: http://lioil.win/2017/10/17/js-bom.html
Coding博客: http://c.lioil.win/2017/10/17/js-bom.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,117评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,963评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,897评论 0 240
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,805评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,208评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,535评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,797评论 2 311
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,493评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,215评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,477评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,988评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,325评论 2 252
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,971评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,807评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,544评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,455评论 2 266

推荐阅读更多精彩内容