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/vbs/vbscript加密的编码异处理小结
Jun 25 Javascript
javascript getElementsByClassName函数
Apr 01 Javascript
JavaScript回调(callback)函数概念自我理解及示例
Jul 04 Javascript
js中如何把字符串转化为对象、数组示例代码
Jul 17 Javascript
含有CKEditor的表单如何提交
Jan 09 Javascript
常用的jquery模板插件——jQuery Boilerplate介绍
Sep 23 Javascript
深入浅析JS的数组遍历方法(推荐)
Jun 15 Javascript
jquery获取input type=text中的值的各种方式(总结)
Dec 02 Javascript
vue的一个分页组件的示例代码
Dec 25 Javascript
node前端开发模板引擎Jade的入门
May 11 Javascript
浅谈TypeScript 用 Webpack/ts-node 运行的配置记录
Oct 11 Javascript
详解vue3.0 diff算法的使用(超详细)
Jul 01 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 smarty的预保留变量总结
2008/12/04 PHP
php 操作符与控制结构
2012/03/07 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
2015/07/15 PHP
PHP生成图片验证码功能示例
2017/01/12 PHP
ExtJS 2.0 GridPanel基本表格简明教程
2010/05/25 Javascript
javascript提取URL的搜索字符串中的参数(自定义函数实现)
2013/01/22 Javascript
关于jQuery判断元素是否存在的问题示例探讨
2014/07/21 Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
2015/09/14 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
Angular的模块化(代码分享)
2016/12/26 Javascript
jQuery使用正则表达式替换dom元素标签用法示例
2017/01/16 Javascript
Angular+Bootstrap+Spring Boot实现分页功能实例代码
2017/07/21 Javascript
浅谈Node.js 子进程与应用场景
2018/01/24 Javascript
React从react-router路由上做登陆验证控制的方法
2018/05/10 Javascript
使用iView Upload 组件实现手动上传图片的示例代码
2018/10/01 Javascript
IE11下CKEditor在Bootstrap Modal中下拉问题的解决
2019/09/25 Javascript
vue 授权获取微信openId操作
2020/11/13 Javascript
[02:40]DOTA2英雄基础教程 巨牙海民
2013/12/23 DOTA
Python中实现两个字典(dict)合并的方法
2014/09/23 Python
python使用Tkinter显示网络图片的方法
2015/04/24 Python
Python工程师面试必备25条知识点
2018/01/17 Python
Python 获取主机ip与hostname的方法
2018/12/17 Python
Pytorch之parameters的使用
2019/12/31 Python
python实现一次性封装多条sql语句(begin end)
2020/06/06 Python
一款纯css3实现简单的checkbox复选框和radio单选框
2014/11/05 HTML / CSS
工厂厂长的职责
2013/12/12 职场文书
祖国在我心中演讲稿450字
2014/09/05 职场文书
个人四风问题原因分析及整改措施
2014/09/28 职场文书
公安机关正风肃纪剖析材料
2014/10/10 职场文书
2014年文员工作总结
2014/11/18 职场文书
2015毕业实习推荐信
2015/03/23 职场文书
计划生育责任书
2015/05/09 职场文书
小学课改工作总结
2015/08/13 职场文书
先进教师个人主要事迹材料
2015/11/03 职场文书
2016年教师节感言
2015/12/09 职场文书
nginx静态资源的服务器配置方法
2022/07/07 Servers