JavaScript Window浏览器对象模型原理解析


Posted in Javascript onMay 30, 2020

浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器"对话"。

浏览器对象模型 (BOM)

浏览器对象模型(Browser Object Model (BOM))尚无正式标准。

由于现代浏览器已经(几乎)实现了 JavaScript 交互性方面的相同方法和属性,因此常被认为是 BOM 的方法和属性。

Window 对象

所有浏览器都支持 window 对象。它表示浏览器窗口。

所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。

全局变量是 window 对象的属性。

全局函数是 window 对象的方法。

甚至 HTML DOM 的 document 也是 window 对象的属性之一:

window.document.getElementById("header");

与此相同:

document.getElementById("header");

Window 尺寸

有三种方法能够确定浏览器窗口的尺寸。

对于Internet Explorer、Chrome、Firefox、Opera 以及 Safari:

window.innerHeight - 浏览器窗口的内部高度(包括滚动条)
window.innerWidth - 浏览器窗口的内部宽度(包括滚动条)

对于 Internet Explorer 8、7、6、5:

document.documentElement.clientHeight
document.documentElement.clientWidth

或者

document.body.clientHeight
document.body.clientWidth

实用的 JavaScript 方案(涵盖所有浏览器):

实例

var w=window.innerWidth
|| document.documentElement.clientWidth
|| document.body.clientWidth;

var h=window.innerHeight
|| document.documentElement.clientHeight
|| document.body.clientHeight;

该例显示浏览器窗口的高度和宽度。

其他 Window 方法

一些其他方法:

  • window.open() - 打开新窗口
  • window.close() - 关闭当前窗口
  • window.moveTo() - 移动当前窗口
  • window.resizeTo() - 调整当前窗口的尺寸

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript 自定义类型方法小结
Mar 02 Javascript
在标题栏显示新消息提示,很多公司项目中用到这个方法
Nov 04 Javascript
jQuery获取Radio,CheckBox选择的Value值(示例代码)
Dec 12 Javascript
jquery实现邮箱自动填充提示功能
Nov 17 Javascript
BootStrap的JS插件之轮播效果案例详解
May 16 Javascript
jQuery获取table行数并输出单元格内容的实现方法
Jun 30 Javascript
详解Js模板引擎(TrimPath)
Nov 22 Javascript
vuejs如何配置less
Apr 25 Javascript
微信小程序开发图片拖拽实例详解
May 05 Javascript
深入理解JS中Number(),parseInt(),parseFloat()三者比较
Aug 24 Javascript
layui表格 返回的数据状态异常的解决方法
Sep 10 Javascript
jQuery实现异步上传一个或多个文件
Aug 17 jQuery
基于canvasJS在PHP中制作动态图表
May 30 #Javascript
jQuery实现视频展示效果
May 30 #jQuery
vue实现购物车加减
May 30 #Javascript
基于vue和bootstrap实现简单留言板功能
May 30 #Javascript
JS常见内存泄漏及解决方案解析
May 30 #Javascript
react结合bootstrap实现评论功能
May 30 #Javascript
基于JavaScript或jQuery实现网站夜间/高亮模式
May 30 #jQuery
You might like
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
2007/01/29 PHP
PHP实现加密的几种方式介绍
2015/02/22 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
2015/12/24 PHP
使用PHP json_decode可能遇到的坑与解决方法
2017/08/03 PHP
js压缩利器
2007/02/20 Javascript
vs2003 js文件编码问题的解决方法
2010/03/20 Javascript
javascript自适应宽度的瀑布流实现思路
2013/02/20 Javascript
JavaScript中的单引号和双引号报错的解决方法
2014/09/01 Javascript
nodejs中转换URL字符串与查询字符串详解
2014/11/26 NodeJs
node.js解决获取图片真实文件类型的问题
2014/12/20 Javascript
js判断日期时间有效性的方法
2015/10/24 Javascript
java中String类型变量的赋值问题介绍
2016/03/23 Javascript
Angular中ng-bind和ng-model的区别实例详解
2017/04/10 Javascript
关于redux-saga中take使用方法详解
2018/02/27 Javascript
webpack external模块的具体使用
2018/03/10 Javascript
JS使用正则表达式获取小括号、中括号及花括号内容的方法示例
2018/06/01 Javascript
从vue源码解析Vue.set()和this.$set()
2018/08/30 Javascript
[53:13]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-GAMING
2014/05/22 DOTA
Python中模拟enum枚举类型的5种方法分享
2014/11/22 Python
深入浅析ImageMagick命令执行漏洞
2016/10/11 Python
python实现发送邮件及附件功能
2021/03/02 Python
Django 导出 Excel 代码的实例详解
2017/08/11 Python
python复制文件到指定目录的实例
2018/04/27 Python
对Python发送带header的http请求方法详解
2019/01/02 Python
Python super()函数使用及多重继承
2020/05/06 Python
澳大利亚家具和家居用品在线商店:Interiors Online
2018/03/05 全球购物
岳父生日宴会答谢词
2014/01/13 职场文书
不打扫卫生检讨书
2014/02/12 职场文书
新文化运动的基本口号
2014/06/21 职场文书
化工专业求职信
2014/07/01 职场文书
小学教育见习报告
2014/10/31 职场文书
罚站检讨书
2015/01/29 职场文书
公司承诺书格式范文
2015/04/28 职场文书
借条格式范本
2015/05/25 职场文书
pytorch实现ResNet结构的实例代码
2021/05/17 Python
《吸血鬼幸存者》新内容发布 追加多个全新模式
2022/04/07 其他游戏