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 相关文章推荐
JS中typeof与instanceof之间的区别总结
Nov 14 Javascript
js 鼠标移动显示图片的简单实例
Dec 25 Javascript
Jquery调用iframe父页面中的元素及方法
Aug 23 Javascript
使用JS代码实现点击按钮下载文件
Nov 12 Javascript
Javascrip实现文字跳动特效
Nov 27 Javascript
html5 canvas 详细使用教程
Jan 20 Javascript
JS实现标签滚动切换效果
Dec 25 Javascript
js生成word中图片处理方法
Jan 06 Javascript
详解webpack-dev-server 设置反向代理解决跨域问题
Apr 18 Javascript
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
Sep 18 Javascript
微信接入之获取用户头像的方法步骤
Sep 23 Javascript
vue中注册自定义的全局js方法
Nov 15 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
人工智能开始玩《星际争霸2》 你的操作跟得上吗?
2017/08/11 星际争霸
PHP Memcached应用实现代码
2010/02/08 PHP
使用淘宝IP库获取用户ip地理位置
2013/10/27 PHP
php实现的Curl封装类Curl.class.php用法实例分析
2015/09/25 PHP
Yii框架弹出窗口组件CJuiDialog用法分析
2017/01/07 PHP
PDO::errorCode讲解
2019/01/28 PHP
php layui实现前端多图上传实例
2019/07/30 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
2019/10/15 PHP
js 面向对象的技术创建高级 Web 应用程序
2010/02/25 Javascript
jquery EasyUI的formatter格式化函数代码
2011/01/12 Javascript
模拟多级复选框效果的jquery代码
2013/08/13 Javascript
调用jQuery滑出效果时闪烁的解决方法
2014/03/27 Javascript
在JavaScript中重写jQuery对象的方法实例教程
2014/08/25 Javascript
javascript实现状态栏文字首尾相接循环滚动的方法
2015/07/22 Javascript
基于jQuery实现仿QQ空间送礼物功能代码
2016/05/24 Javascript
JS实现table表格数据排序功能(可支持动态数据+分页效果)
2016/05/26 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
js实现横向拖拽导航条功能
2017/02/17 Javascript
深入理解Javascript中的作用域链和闭包
2017/04/25 Javascript
JavaScript中判断为整数的多种方式及保留两位小数的方法
2019/09/09 Javascript
微信小程序实现点赞业务
2021/02/10 Javascript
python数据预处理之将类别数据转换为数值的方法
2017/07/05 Python
利用Django内置的认证视图实现用户密码重置功能详解
2017/11/24 Python
Python3连接SQLServer、Oracle、MySql的方法
2018/06/28 Python
python中的json总结
2018/10/11 Python
图解python全局变量与局部变量相关知识
2019/11/02 Python
PyQt5高级界面控件之QTableWidget的具体使用方法
2020/02/23 Python
完美解决jupyter由于无法import新包的问题
2020/05/26 Python
python3 中使用urllib问题以及urllib详解
2020/08/03 Python
HTML5 拖放功能实现代码
2016/07/14 HTML / CSS
美国购买韩国护肤和美容产品网站:Althea Korea
2020/11/16 全球购物
为什么如下的代码int a=100,b=100;long int c=a * b;不能工作
2013/11/29 面试题
语文教育专业应届生求职信
2013/11/23 职场文书
美容院经理岗位职责
2014/04/03 职场文书
二年级语文上册复习计划
2015/01/19 职场文书
Python实现归一化算法详情
2022/03/18 Python