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 相关文章推荐
获取页面高度,窗口高度,滚动条高度等参数值getPageSize,getPageScroll
Sep 22 Javascript
用js实现计算加载页面所用的时间
Apr 02 Javascript
jquery 插件学习(五)
Aug 06 Javascript
基于JavaScript 声明全局变量的三种方式详解
May 07 Javascript
JS加载器如何动态加载外部js文件
May 26 Javascript
javaScript知识点总结(必看篇)
Jun 10 Javascript
angular route中使用resolve在uglify压缩后问题解决
Sep 21 Javascript
jQuery事件详解
Feb 23 Javascript
微信小程序图片选择、上传到服务器、预览(PHP)实现实例
May 11 Javascript
Vue实现导出excel表格功能
Mar 30 Javascript
Node.js 进程平滑离场剖析小结
Jan 24 Javascript
node将geojson转shp返回给前端的实现方法
May 29 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.ini中文版(1)
2006/10/09 PHP
php下一个阿拉伯数字转中文数字的函数
2007/07/16 PHP
php对数组排序的简单实例
2013/12/25 PHP
php多个文件及图片上传实例详解
2014/11/10 PHP
thinkPHP5框架分页样式类完整示例
2018/09/01 PHP
PHP中md5()函数的用法讲解
2019/03/30 PHP
Exjs 入门篇
2010/04/07 Javascript
JavaScript使用HTML5的window.postMessage实现跨域通信例子
2014/04/11 Javascript
JavaScript判断变量是对象还是数组的方法
2014/08/28 Javascript
jQuery中siblings()方法用法实例
2015/01/08 Javascript
javaScript中push函数用法实例分析
2015/06/08 Javascript
discuz表情的JS提取方法分析
2017/03/22 Javascript
在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程
2018/03/21 Javascript
[47:43]完美世界DOTA2联赛PWL S3 Magama vs GXR 第二场 12.19
2020/12/24 DOTA
python线程池的实现实例
2013/11/18 Python
Python基于动态规划算法计算单词距离
2015/07/25 Python
Pycharm 操作Django Model的简单运用方法
2018/05/23 Python
Python+Appium实现自动化测试的使用步骤
2020/03/24 Python
在CentOS7下安装Python3教程解析
2020/07/09 Python
五分钟学会怎么用Pygame做一个简单的贪吃蛇
2021/01/06 Python
python编程的核心知识点总结
2021/02/08 Python
纯css3显示隐藏一个div特效的具体实现
2014/02/10 HTML / CSS
如何让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
2019/08/01 HTML / CSS
Java TransactionAPI (JTA) 主要包含几部分
2012/12/07 面试题
初级软件工程师面试题 Junior Software Engineer Interview
2015/02/15 面试题
终止劳动合同协议书
2014/04/14 职场文书
村干部培训方案
2014/05/02 职场文书
医院保洁服务方案
2014/06/11 职场文书
承诺函格式模板
2015/01/21 职场文书
介绍信怎么写
2015/05/05 职场文书
2016年学习雷锋精神广播稿
2015/12/17 职场文书
干货:如何写好工作总结报告!
2019/05/10 职场文书
大学生暑期实践报告之企业经营管理
2019/08/08 职场文书
分享:关于学习的励志名言赏析
2019/08/16 职场文书
Python3 多线程(连接池)操作MySQL插入数据
2021/06/09 Python
mongoDB数据库索引快速入门指南
2022/03/23 MongoDB