JavaScript Window - 浏览器对象模型
本文目录
所有浏览器都支持 window 对象
所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。
- 全局变量是 window 对象的属性。
- 全局函数是 window 对象的方法
Window 尺寸
- window.innerHeight - 浏览器窗口的内部高度(包括滚动条)
- window.innerWidth - 浏览器窗口的内部宽度(包括滚动条)
对于 Internet Explorer 8、7、6、5:
- document.documentElement.clientHeight
- document.documentElement.clientWidth
Window 对象属性
属性 | 描述 |
---|---|
closed | 返回窗口是否已被关闭。 |
defaultStatus | 设置或返回窗口状态栏中的默认文本。 |
document | 对 Document 对象的只读引用。(请参阅对象) |
frames | 返回窗口中所有命名的框架。该集合是 Window 对象的数组,每个 Window 对象在窗口中含有一个框架。 |
history | 对 History 对象的只读引用。请参数 History 对象。 |
innerHeight | 返回窗口的文档显示区的高度。 |
innerWidth | 返回窗口的文档显示区的宽度。 |
localStorage | 在浏览器中存储 key/value 对。没有过期时间。 |
length | 设置或返回窗口中的框架数量。 |
location | 用于窗口或框架的 Location 对象。请参阅 Location 对象。 |
name | 设置或返回窗口的名称。 |
navigator | 对 Navigator 对象的只读引用。请参数 Navigator 对象。 |
opener | 返回对创建此窗口的窗口的引用。 |
outerHeight | 返回窗口的外部高度,包含工具条与滚动条。 |
outerWidth | 返回窗口的外部宽度,包含工具条与滚动条。 |
pageXOffset | 设置或返回当前页面相对于窗口显示区左上角的 X 位置。 |
pageYOffset | 设置或返回当前页面相对于窗口显示区左上角的 Y 位置。 |
parent | 返回父窗口。 |
screen | 对 Screen 对象的只读引用。请参数 Screen 对象。 |
screenLeft | 返回相对于屏幕窗口的x坐标 |
screenTop | 返回相对于屏幕窗口的y坐标 |
screenX | 返回相对于屏幕窗口的x坐标 |
sessionStorage | 在浏览器中存储 key/value 对。 在关闭窗口或标签页之后将会删除这些数据。 |
screenY | 返回相对于屏幕窗口的y坐标 |
self | 返回对当前窗口的引用。等价于 Window 属性。 |
status | 设置窗口状态栏的文本。 |
top | 返回最顶层的父窗口。 |
Window 对象方法
- window.open() - 打开新窗口
- window.close() - 关闭当前窗口
- window.moveTo() - 移动当前窗口
- window.resizeTo() - 调整当前窗口的尺寸
方法 | 描述 |
---|---|
alert() | 显示带有一段消息和一个确认按钮的警告框。 |
atob() | 解码一个 base-64 编码的字符串。 |
btoa() | 创建一个 base-64 编码的字符串。 |
blur() | 把键盘焦点从顶层窗口移开。 |
clearInterval() | 取消由 setInterval() 设置的 timeout。 |
clearTimeout() | 取消由 setTimeout() 方法设置的 timeout。 |
close() | 关闭浏览器窗口。 |
confirm() | 显示带有一段消息以及确认按钮和取消按钮的对话框。 |
createPopup() | 创建一个 pop-up 窗口。 |
focus() | 把键盘焦点给予一个窗口。 |
getSelection() | 返回一个 Selection 对象,表示用户选择的文本范围或光标的当前位置。 |
getComputedStyle() | 获取指定元素的 CSS 样式。 |
matchMedia() | 该方法用来检查 media query 语句,它返回一个 MediaQueryList对象。 |
moveBy() | 可相对窗口的当前坐标把它移动指定的像素。 |
moveTo() | 把窗口的左上角移动到一个指定的坐标。 |
open() | 打开一个新的浏览器窗口或查找一个已命名的窗口。 |
print() | 打印当前窗口的内容。 |
prompt() | 显示可提示用户输入的对话框。 |
resizeBy() | 按照指定的像素调整窗口的大小。 |
resizeTo() | 把窗口的大小调整到指定的宽度和高度。 |
scroll() | 已废弃。 该方法已经使用了 scrollTo() 方法来替代。 |
scrollBy() | 按照指定的像素值来滚动内容。 |
scrollTo() | 把内容滚动到指定的坐标。 |
setInterval() | 按照指定的周期(以毫秒计)来调用函数或计算表达式。 |
setTimeout() | 在指定的毫秒数后调用函数或计算表达式。 |
stop() | 停止页面载入。 |
Window Screen 屏幕
window.screen对象在编写时可以不使用 window 这个前缀。
- screen.availWidth - 可用的屏幕宽度
- screen.availHeight - 可用的屏幕高度,返回访问者屏幕的高度,以像素计,减去界面特性,比如窗口任务栏
属性 | 说明 |
---|---|
availHeight | 返回屏幕的高度(不包括Windows任务栏) |
availWidth | 返回屏幕的宽度(不包括Windows任务栏) |
colorDepth | 返回目标设备或缓冲器上的调色板的比特深度 |
height | 返回屏幕的总高度 |
pixelDepth | 返回屏幕的颜色分辨率(每象素的位数) |
width | 返回屏幕的总宽度 |
JavaScript Window Location
window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。
window.location 对象在编写时可不使用 window 这个前缀。 一些例子:
- location.hostname 返回 web 主机的域名
- location.pathname 返回当前页面的路径和文件名
- location.port 返回 web 主机的端口 (80 或 443)
- location.protocol 返回所使用的 web 协议(http: 或 https:)
<script>
document.write("主机的域名:" + location.hostname+'<br/>');
document.write("当前页面的路径和文件名:" + location.pathname +'<br/>');
document.write("主机的端口 (80 或 443):" + location.port +'<br/>');
document.write("web 协议(http: 或 https:):" + location.protocol +'<br/>');
</script>
Location 对象属性 | 属性 | 描述 |
---|---|---|
hash | 返回一个URL的锚部分 | |
host | 返回一个URL的主机名和端口 | |
hostname | 返回URL的主机名 | |
href | 返回完整的URL | |
pathname | 返回的URL路径名。 | |
port | 返回一个URL服务器使用的端口号 | |
protocol | 返回一个URL协议 | |
search | 返回一个URL的查询部分 |
Location 对象方法 | 方法 | 说明 |
---|---|---|
assign() | 载入一个新的文档 | |
reload() | 重新载入当前文档 | |
replace() | 用新的文档替换当前文档 |
Window Location Assign
location.assign() 方法加载新的文档
window.location.assign("https://www.heibaiketang.com/")
加载 URL 指定的新的 HTML 文档。 就相当于一个链接,跳转到指定的url,当前页面会转为新页面内容,可以点击后退返回上一个页面
window.location.replace("https://www.heibaiketang.com/")
通过加载 URL 指定的文档来替换当前文档 ,这个方法是替换当前窗口页面,前后两个页面共用一个窗口,所以是没有后退返回上一页的
Navigator 对象属性 | 属性 | 说明 |
---|---|---|
appCodeName | 返回浏览器的代码名 | |
appName | 返回浏览器的名称 | |
appVersion | 返回浏览器的平台和版本信息 | |
cookieEnabled | 返回指明浏览器中是否启用 cookie 的布尔值 | |
platform | 返回运行浏览器的操作系统平台 | |
userAgent | 返回由客户机发送服务器的user-agent 头部的值 |
Navigator 对象方法 | 方法 | 描述 |
---|---|---|
javaEnabled() | 指定是否在浏览器中启用Java | |
taintEnabled() | 规定浏览器是否启用数据污点(data tainting) |
Window History
window.history 对象包含浏览器的历史。
- history.back() - 与在浏览器点击后退按钮相同
- history.forward() - 与在浏览器中点击向前按钮相同
- history.go() 实现向前,后退的功能,数字
-1
表示后退,1
表示前进
属性 | 说明 |
---|---|
length | 返回历史列表中的网址数 |
方法 | 说明 |
---|---|
back() | 加载 history 列表中的前一个 URL |
forward() | 加载 history 列表中的下一个 URL |
go() | 加载 history 列表中的某个具体页面 |
JavaScript Window Navigator 对象包含有关访问者浏览器的信息
<div id="demo"></div>
<script>
txt = "<p>浏览器代号:" + navigator.appCodeName + "</p>";
txt+= "<p>浏览器名称:" + navigator.appName + "</p>";
txt+= "<p>浏览器版本:" + navigator.appVersion + "</p>";
txt+= "<p>启用Cookies:" + navigator.cookieEnabled + "</p>";
txt+= "<p>硬件平台:" + navigator.platform + "</p>";
txt+= "<p>用户代理:" + navigator.userAgent + "</p>";
txt+= "<p>用户代理语言:" + navigator.language + "</p>";
document.getElementById("demo").innerHTML=txt;
</script>
来自 navigator 对象的信息具有误导性,不应该被用于检测浏览器版本,这是因为:
- navigator 数据可被浏览器使用者更改
- 一些浏览器对测试站点会识别错误
- 浏览器无法报告晚于浏览器发布的新操作系统
JavaScript 弹窗
可以在 JavaScript 中创建三种消息框:警告框、确认框、提示框。
- window.alert("信息"); 警告框
- window.confirm("信息");确认框
- window.prompt("信息","默认值");提示框
JavaScript 计时事件
通过使用 JavaScript,我们有能力做到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。我们称之为计时事件。
在 JavaScritp 中使用计时事件是很容易的,两个关键方法是:
- setInterval() - 间隔指定的毫秒数不停地执行指定的代码。
- setTimeout() - 在指定的毫秒数后执行指定代码。
- 注意: setInterval() 和 setTimeout() 是 HTML DOM Window对象的两个方法。
setInterval() 方法
setInterval() 间隔指定的毫秒数不停地执行指定的代码
window.setInterval("javascript function",milliseconds);
clearInterval() 方法用于停止 setInterval()
window.clearInterval() 方法可以不使用window前缀,直接使用函数clearInterval()
window.clearInterval(intervalVariable)
setTimeout() 方法
setTimeout() 的第一个参数是含有 JavaScript 语句的字符串。这个语句可能诸如 "alert('5 seconds!')",或者对函数的调用,诸如 alertMsg。
第二个参数指示从当前起多少毫秒后执行第一个参数
myVar= window.setTimeout("javascript function", milliseconds);
clearTimeout() 方法用于停止执行setTimeout()方法的函数
window.clearTimeout() 方法可以不使用window 前缀。
window.clearTimeout(timeoutVariable)
JavaScript 存储对象
Web 存储 API 提供了 sessionStorage (会话存储) 和 localStorage(本地存储)两个存储对象来对网页的数据进行添加、删除、修改、查询操作。
-
localStorage 用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去除。
-
sessionStorage 用于临时保存同一窗口 (或标签页) 的数据,在关闭窗口或标签页之后将会删除这些数据。
属性 | 描述 |
---|---|
length | 返回存储对象中包含多少条数据。 |
存储对象方法
方法 | 描述 |
---|---|
key(n) | 返回存储对象中第 n 个键的名称 |
getItem(keyname) | 返回指定键的值 |
setItem(keyname, value) | 添加键和值,如果对应的值存在,则更新该键对应的值。 |
removeItem(keyname) | 移除键 |
clear() | 清除存储对象中所有的键 |
Web 存储 API | 属性 | 描述 |
---|---|---|
window.localStorage | 在浏览器中存储 key/value 对。没有过期时间。 | |
window.sessionStorage | 在浏览器中存储 key/value 对。 在关闭窗口或标签页之后将会删除这些数据。 |
版权提示
1.除了标识原创之外,其他可能来源于网友的分享,仅供学习使用2.如您发现侵犯了您的权利,请联系我们删除
3.转载必须带本文链接,否则你将侵权
4.关于会员或其发布的相关内容均由会员自行提供,会员依法应对其提供的任何信息承担全部责任,本站不对此承担任何法律责任