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 相关文章推荐
document.body.scrollTop 值总为0的解决方法 比较常见的标准问题
Nov 30 Javascript
js设置组合快捷键/tabindex功能的方法
Nov 21 Javascript
JavaScript使用addEventListener添加事件监听用法实例
Jun 01 Javascript
小议JavaScript中Generator和Iterator的使用
Jul 29 Javascript
jQuery实现自动切换播放的经典滑动门效果
Sep 12 Javascript
Javascript之BOM(window对象)详解
May 25 Javascript
酷! 不同风格页面布局幻灯片特效js实现
Feb 19 Javascript
JS中把函数作为另一函数的参数传递方法(总结)
Jun 28 Javascript
node.JS路径解析之PATH模块使用方法详解
Feb 06 Javascript
vue项目前端微信JSAPI与外部H5支付相关实现过程及常见问题
Apr 14 Javascript
JavaScript对象访问器Getter及Setter原理解析
Dec 08 Javascript
vue2实现provide inject传递响应式
May 21 Vue.js
基于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
在Laravel框架里实现发送邮件实例(邮箱验证)
2016/05/20 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
2019/10/24 PHP
createElement动态创建HTML对象脚本代码
2008/11/24 Javascript
Javascript 读书笔记索引贴
2010/01/11 Javascript
javascript 函数速查表
2010/02/07 Javascript
javascript hashtable 修正版 下载
2010/12/30 Javascript
19个很有用的 JavaScript库推荐
2011/06/27 Javascript
javascript 弹出的窗口返回值给父窗口具体实现
2013/11/23 Javascript
JS中产生20位随机数以0-9为例也可以是a-z A-Z
2014/08/01 Javascript
扒一扒JavaScript 预解释
2015/01/28 Javascript
javascript实现复选框超过限制即弹出警告框的方法
2015/02/25 Javascript
js限制input标签中只能输入中文
2015/06/26 Javascript
JS实现把鼠标放到链接上出现滚动文字的方法
2016/04/06 Javascript
ES6概念 Symbol.keyFor()方法
2016/12/25 Javascript
JavaScript仿支付宝6位数字密码输入框
2016/12/29 Javascript
AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例
2018/04/21 Javascript
在vue中配置不同的代理同时访问不同的后台操作
2020/09/11 Javascript
[02:41]2015国际邀请赛中国区预选赛观战指南
2015/05/20 DOTA
Python实现读取文件最后n行的方法
2017/02/23 Python
python交互式图形编程实例(三)
2017/11/17 Python
python抽取指定url页面的title方法
2018/05/11 Python
使用turtle绘制五角星、分形树
2019/10/06 Python
python 定义类时,实现内部方法的互相调用
2019/12/25 Python
wxPython修改文本框颜色过程解析
2020/02/14 Python
在python中利用dict转json按输入顺序输出内容方式
2020/02/27 Python
浅谈django channels 路由误导
2020/05/28 Python
领先的英国注册在线药房 :Simply Meds Online
2019/03/28 全球购物
得到Class的三个过程是什么
2012/08/10 面试题
如何设置Java的运行环境
2013/04/05 面试题
几道Web/Ajax的面试题
2016/11/05 面试题
建筑施工实习自我鉴定
2013/09/19 职场文书
单位实习证明怎么写
2014/01/17 职场文书
销售职业生涯规划范文
2014/03/14 职场文书
班主任寄语大全
2014/04/04 职场文书
创建青年文明号材料
2014/05/09 职场文书
2015年公务员试用期工作总结
2015/05/28 职场文书