(7)JavaScript-BOM(浏览器对象模 型)
window 对象
全局作用域
在浏览器中, window 对象有双重角色,它既是通过 JavaScript 访问浏览器窗口的一个接口,又是 ECMAScript 规定的 Global 对象。
所有在全局作用域中声明的变量、函数都会变成 window 对象的属性和方法
var age = 29;
function sayAge(){
alert(this.age);
}
alert(window.age); //
sayAge(); //
window.sayAge(); //
窗口关系及框架
。。
窗口位置
使用下列代码可以跨浏览器取得窗口左边和上边的位置
var leftPos = (typeof window.screenLeft == "number") ?
window.screenLeft : window.screenX;
var topPos = (typeof window.screenTop == "number") ?
window.screenTop : window.screenY;
moveTo()接收的是新位置的 x 和 y 坐标值,而 moveBy()接收的是在水平和垂直方向上移动的像素数
//将窗口移动到屏幕左上角
window.moveTo(0,0);
//将窗向下移动 100 像素
window.moveBy(0,100);
//将窗口移动到(200,300)
window.moveTo(200,300);
//将窗口向左移动 50 像素
window.moveBy(-50,0)
需要注意的是,这两个方法可能会被浏览器禁用 ,另外,这两个方法都不适用于框架,只能对最外层的 window 对象使用
窗口大小
outerWidth 和 outerHeight 返回浏览器窗口本身的尺寸
innerWidth 和 innerHeight则表示该容器中页面视图区的大小(减去边框宽度)
使用 resizeTo()和 resizeBy()方法可以调整浏览器窗口的大小
其中 resizeTo()接收浏览器窗口的新宽度和新高度,而 resizeBy()接收新窗口与原窗口的宽度和高度之差
//调整到 100× 100
window.resizeTo(100, 100);
//调整到 200× 150
window.resizeBy(100, 50);
//调整到 300× 300
window.resizeTo(300, 300);
这两个方法可能会被浏览器禁用 ,另外,这两个方法都不适用于框架,只能对最外层的 window 对象使用
导航和打开窗口
window.open()方法可以导航到一个特定的 URL,也可以打开一个新的浏览器窗口可以接收 4 个参数:
1.要加载的 URL
2.窗口目标
3.一个特性字符串
4.一个表示新页面是否取代浏览器历史记录中当前加载页面的布尔值
通常只须传递第一个参数,最后一个参数只在不打开新窗口的情况下使用
间歇调用和超时调用
超时调用需要使用 window 对象的 setTimeout()方法
间歇调用的方法是 setInterval()
系统对话框
浏览器通过 alert()、 confirm()和 prompt()方法可以调用系统对话框向用户显示消息
alert("Hello world!")
confirm()方法
为了确定用户是单击了 OK 还是 Cancel,可以检查 confirm()方法返回的布尔值
if (confirm("Are you sure?")) {
alert("I'm so glad you're sure! ");
} else {
alert("I'm sorry to hear you're not sure. ");
}
prompt()方法
prompt("What's your name?","Michael")
如果用户单击了 OK 按钮,则 prompt()返回文本输入域的值;如果用户单击了 Cancel 或没有单击OK 而是通过其他方式关闭了对话框,则该方法返回 null
var result = prompt("What is your name? ", "");
if (result !== null) {
alert("Welcome, " + result);
}
两个可以通过 JavaScript 打开的对话框,即“查找”和“打印”。这两个对话框都是异步显示的,能够将控制权立即交还给脚本。
这两个对话框与用户通过浏览器菜单的“查找”和“打印”命令打开的对话框相同
//显示“打印”对话框
window.print();
//显示“查找”对话框
window.find();
location 对象
它提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能
location 对象是很特别的一个对象,因为它既是 window 对象的属性,也是document 对象的属性.window.location 和 document.location 引用的是同一个对象。
location 对象的用处不只表现在它保存着当前文档的信息,还表现在它将 URL 解析为独立的片段,让开发人员可以通过不同的属性访问这些片段
navigator 对象
暂略
screen 对象
暂略
history 对象
history 对象保存着用户上网的历史记录,从窗口被打开的那一刻算起。
history 是 window对象的属性,因此每个浏览器窗口、每个标签页乃至每个框架,都有自己的 history 对象与特定的window 对象关联
go()方法可以在用户的历史记录中任意跳转,可以向后也可以向前这个方法接受一个参数,表示向后或向前跳转的页面数的一个整数值。
负数表示向后跳转(类似于单击浏览器的“后退”按钮),正数表示向前跳转(类似于单击浏览器的“前进”按钮)。
//后退一页
history.go(-);
//前进一页
history.go();
//前进两页
history.go();
//后退一页
history.back();
//前进一页
history.forward();
虽然 history 并不常用,但在创建自定义的“后退”和“前进”按钮,以及检测当前页面是不是用户历史记录中的第一个页面时,还是必须使用它
(7)JavaScript-BOM(浏览器对象模 型)的更多相关文章
- BOM浏览器对象模型和API速查
什么是BOMBOM是Browser Object Model的缩写,简称浏览器对象模型BOM提供了独立于内容而与浏览器窗口进行交互的对象由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是wi ...
- JavaScript BOM DOM 对象
title: JavaScript BOM DOM 对象 tags: JavaScript --- browser object model document onject model BOM对象 w ...
- BOM浏览器对象
BOM 浏览器对象 一.浏览器本身就自己有一些对象,不用创建就可以使用 window(当前浏览器窗体) 属性: status opener closed parent top 方法: alert(); ...
- [TimLinux] JavaScript BOM浏览器对象模型
1. 简介 ECMAScript是JavaScript的核心,但是如果要在WEB中使用JavaScript,那么BOM则无疑才是真的的核心.BOM提供了很多对象,用于访问浏览器的功能,这些功能与任何网 ...
- JavaScript——BOM(浏览器对象模型),时间间隔和暂停
BOM(浏览器对象模型):能够对浏览器的窗体进行訪问和操作 1.主要的BOM体系: window------------document-------------------------------- ...
- JS BOM(浏览器对象)
BOM即浏览器对象模型,它包括如下一些对象! (一)screen对象,Screen 对象中存放着有关显示浏览器屏幕的信息. 常见的属性有: availHeight:返回显示屏幕的高度 availWid ...
- day63—JavaScript浏览器对象cookie
转行学开发,代码100天——2018-05-18 今天的主要学内容时JavaScript中浏览器对象——cookie. cookie用于存储web页面的用户信息,其存储容量很小,一般几k左右.如常见的 ...
- 6、JavaScript进阶篇③——浏览器对象、Dom对象
一.浏览器对象 1. window对象 window对象是BOM的核心,window对象指当前的浏览器窗口. window对象方法: 注意:在JavaScript基础篇中,已讲解了部分属性,windo ...
- Javascript BOM对象
BOM是browser object model的缩写,简称浏览器对象模型. window对象(BOM的核心对象) 表示浏览器的一个实例,在浏览器中,window对象有着双重角色,它既是通过Javas ...
随机推荐
- Linux命令之---nl
命令简介 nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补 ...
- spark 的createDstream和createDirectStream区别
spark读取kafka数据流提供了两种方式createDstream和createDirectStream. 两者区别如下: 1.KafkaUtils.createDstream 构造函数为Kafk ...
- UVa 1455 Kingdom 线段树 并查集
题意: 平面上有\(n\)个点,有一种操作和一种查询: \(road \, A \, B\):在\(a\),\(b\)两点之间加一条边 \(line C\):询问直线\(y=C\)经过的连通分量的个数 ...
- WinRM和WinRS
1.6.2 新远程工具:WinRM和WinRS 2012-05-14 10:18 张杰良 译 清华大学出版社 字号:T | T 综合评级: 想读(18) 在读(5) 已读(0) 品书斋鉴(0) ...
- 5、CSS基础part-3
1.CSS列表 ①类型 ul.disc {list-style-type: disc} ②位置 ul.inside {list-style-position: inside} ③列表图像 2.表格
- RNQOJ Jam的计数法
题目:https://www.rqnoj.cn/problem/3 非递归做法:(严格递增 单调大于 不可等于 ) 做法:循环体 <1>操作字符串 str 从后往前找,k=1,如果s[w ...
- Kotlin-Not enough information to infer parameter T in fun<T:View> findViewById(id: Int): T!
代码改变世界 错误: Type inference failed : Not enough information to infer parameter T in fun<T:View> ...
- [Gym101138G][容斥原理]LCM-er
[Gym101138G][容斥原理]LCM-er 题意描述 给定\(n,a,b,x\)四个数字,需要计数满足如下条件序列的个数(答案对\(10^9+7\)取模),条件如下. \[ {a \le A_1 ...
- Codeforces 954E Water Taps
题目大意 有 $n$($1\le n\le 200000$)个变量 $x_1, x_2, \dots, x_n$,满足 \begin{equation} 0\le x_i \le a_i \label ...
- [LOJ#2324]「清华集训 2017」小Y和二叉树
[LOJ#2324]「清华集训 2017」小Y和二叉树 试题描述 小Y是一个心灵手巧的OIer,她有许多二叉树模型. 小Y的二叉树模型中,每个结点都具有一个编号,小Y把她最喜欢的一个二叉树模型挂在了墙 ...