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 相关文章推荐
基于jquery的分页控件(C#)
Jan 06 Javascript
JS 实现导航栏悬停效果(续)
Sep 24 Javascript
javascript调试之DOM断点调试法使用技巧分享
Apr 15 Javascript
JavaScript通过join函数连接数组里所有元素的方法
Mar 20 Javascript
js实现网页图片延时加载 提升网页打开速度
Jan 26 Javascript
js编写的treeview使用方法
Nov 11 Javascript
Vue全家桶实践项目总结(推荐)
Nov 04 Javascript
基于vue v-for 循环复选框-默认勾选第一个的实现方法
Mar 03 Javascript
Node.js使用Angular简单示例
May 11 Javascript
vuex的module模块用法示例
Nov 12 Javascript
详解小程序设置缓存并且不覆盖原有数据
Apr 15 Javascript
微信小程序获取地理位置及经纬度授权代码实例
Sep 18 Javascript
基于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
PHP数据类型之布尔型的介绍
2013/04/28 PHP
php操作(删除,提取,增加)zip文件方法详解
2015/03/12 PHP
php将服务端的文件读出来显示在web页面实例
2016/10/31 PHP
ThinkPHP删除栏目(实现批量删除栏目)
2017/06/21 PHP
flexigrid 类似ext grid的JS表格代码
2010/07/17 Javascript
Javascript面向对象之四 继承
2011/02/08 Javascript
简单常用的幻灯片播放实现代码
2013/09/25 Javascript
JavaScript Math.ceil() 函数使用介绍
2013/12/11 Javascript
利用javascript数组长度循环数组内所有元素
2013/12/27 Javascript
js动态控制table的tr、td增加及删除的具体实现
2014/04/30 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
2015/03/09 Javascript
js学习总结_选项卡封装(实例讲解)
2017/07/13 Javascript
vue写一个组件
2018/04/09 Javascript
微信小程序按钮点击跳转页面详解
2019/05/06 Javascript
微信小程序8种数据通信的方式小结
2020/02/03 Javascript
[09:13]2014DOTA2国际邀请赛 中国区预选赛coser表演
2014/05/23 DOTA
[01:54]TI4西雅图DOTA2选手欢迎晚宴 现场报道
2014/07/08 DOTA
[02:45]2016年中国刀塔全程回顾,完美“圣”典即将上演
2016/12/15 DOTA
python使用psutil模块获取系统状态
2016/08/27 Python
python中itertools模块zip_longest函数详解
2018/06/12 Python
python反编译学习之字节码详解
2019/05/19 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
2019/08/13 Python
python3中利用filter函数输出小于某个数的所有回文数实例
2019/11/24 Python
美国畅销的跑步机品牌:ProForm
2017/02/06 全球购物
美国在线家居装饰店:Belle&June
2018/10/24 全球购物
什么是方法的重载
2013/06/24 面试题
大学生应聘推荐信范文
2013/11/19 职场文书
大二学生学习个人自我评价
2014/01/19 职场文书
国家助学金获奖感言
2014/01/31 职场文书
安全教育月活动总结
2014/05/05 职场文书
小学工作总结2015
2015/05/04 职场文书
2015年高三年级组工作总结
2015/07/21 职场文书
离婚协议书范本(2016最新版)
2016/03/18 职场文书
在JavaScript中如何使用宏详解
2021/05/06 Javascript
Python函数中的不定长参数相关知识总结
2021/06/24 Python
Android RecyclerView实现九宫格效果
2022/06/28 Java/Android