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 相关文章推荐
Javascript中使用parseInt函数需要注意的问题
Apr 02 Javascript
jQuery结合ajax实现动态加载文本内容
May 19 Javascript
探讨AngularJs中ui.route的简单应用
Nov 16 Javascript
关于Iframe父页面与子页面之间的相互调用
Nov 22 Javascript
BootStrap Table 设置height表头与内容无法对齐的问题
Dec 28 Javascript
jQuery插件MovingBoxes实现左右滑动中间放大图片效果
Feb 28 Javascript
vue后台管理之动态加载路由的方法
Aug 13 Javascript
微信小程序实现跑马灯效果
Oct 21 Javascript
JS实现求5的阶乘示例
Jan 21 Javascript
小程序扫描普通链接二维码跳转小程序指定界面方法
May 07 Javascript
webpack 处理CSS资源的实现
Sep 27 Javascript
javascript实现fetch请求返回的统一拦截
Dec 22 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
预告映像公开!第1章续篇剧场版动画《Princess Principal Crown Handler》4月10日上映!
2020/03/06 日漫
用PHP的超级变量$_GET获取HTML表单(Form) 数据
2011/05/07 PHP
PHP新手用的Insert和Update语句构造类
2012/03/31 PHP
jquery不支持toggle()高(新)版本的问题解决
2016/09/24 PHP
redirect_uri参数错误的解决方法(必看)
2017/02/16 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
PHP 自动加载类原理与用法实例分析
2020/04/14 PHP
tp5.1框架数据库子查询操作实例分析
2020/05/26 PHP
手把手教你自己写一个js表单验证框架的方法
2010/09/14 Javascript
基于jquery的textarea发布框限制文字字数输入(添加中文识别)
2012/02/16 Javascript
jquery清空表单数据示例分享
2014/02/13 Javascript
JS获取随机数函数可自定义最小值最大值
2014/05/08 Javascript
node.js中的console.dir方法使用说明
2014/12/10 Javascript
简介JavaScript中的sub()方法的使用
2015/06/08 Javascript
简介BootStrap model弹出框的使用
2016/04/27 Javascript
vue-cli单页应用改成多页应用配置详解
2017/07/14 Javascript
详解用Node.js写一个简单的命令行工具
2018/03/01 Javascript
详解如何在微信小程序开发中正确的使用vant ui组件
2018/09/13 Javascript
微信小程序ibeacon三点定位详解
2018/10/31 Javascript
详解Vue调用手机相机和相册以及上传
2019/05/05 Javascript
Node.js Domain 模块实例详解
2020/03/18 Javascript
javascript实现简单搜索功能
2020/03/26 Javascript
[01:18]DOTA2超级联赛专访hanci ForLove淘汰感言曝光
2013/06/04 DOTA
浅析Python __name__ 是什么
2020/07/07 Python
自定义Django_rest_framework_jwt登陆错误返回的解决
2020/10/18 Python
卡西欧G-SHOCK英国官网: 防水防震手表
2018/01/08 全球购物
新闻专业大学生找工作的自我评价
2013/10/30 职场文书
《与朱元思书》的教学反思
2014/04/17 职场文书
个人担保书格式范文
2014/05/12 职场文书
师德模范事迹材料
2014/06/03 职场文书
大学生活动总结模板
2014/07/02 职场文书
党的群众路线教育实践活动教师自我剖析材料
2014/10/09 职场文书
小学体育教学随笔
2015/08/14 职场文书
js 数组 fill() 填充方法
2021/11/02 Javascript
Linux安装apache服务器的配置过程
2021/11/27 Servers
victoriaMetrics库布隆过滤器初始化及使用详解
2022/04/05 Golang