JavaScript BOM对象

JavaScript Window - 浏览器对象模型

浏览器对象模型(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尺寸

有三种方法能够确定浏览器窗口的尺寸,对于IE、Chrome、FireFox、Opera语句Safari:

  • window.innerHeight:浏览器窗口的内部高度(包括滚动条)
  • window.innerWidth:浏览器窗口的内部宽度(包括滚动条)

对于IE8、7、6、5:

  • document.documentElement.clientHeight
  • document.documentElemetn.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 Window Screen

widow.screen对象包含有关用户屏幕的信息。

Window Screen

window.screen对象在编写时可以不使用window这个前缀,其属性有:

  • screen.availWidth:可用的屏幕宽度
  • screen.availHeight:可用的屏幕高度

Window Screen 可用宽度

screen.availWidth属性返回访问者屏幕的宽度,以像素计,减去界面特性,比如窗口任务栏:

<script>
document.write("可用宽度: " + screen.availWidth); // 返回屏幕可用宽度:1920
</script>

Window Screen 可用高度

scree.availHeight属性返回访问者屏幕的高度,以像素计,减去界面特性,比如窗口任务栏:

<script>
document.write("可用高度: " + screen.availHeight); // 返回屏幕可用高度:1040
</script>

JavaScript Window Location

window.location对象用于获取当前页面的地址(URL),并把浏览器重定向到新的页面。

Window Location

window.location对象在编写时可不使用window这个前缀,如下例子:

  • location.hostname:返回web主机的域名;
  • location.pathname:返回当前页面的路径和文件名;
  • location.port:返回web主机的端口(80或443);
  • location.protocol:返回所使用web协议(http://或https

    前端基础:JavaScript BOM对象的更多相关文章

    1. JS BOM DOM对象 select联动 计时器 时间 css操作 节点(标签 ) 查找标签 {前端基础之BOM和DOM}

      前端基础之BOM和DOM 前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我 ...

    2. 前端基础之BOM和DOM day52

      前端基础之BOM和DOM   前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互 ...

    3. day 47 前端基础之BOM和DOM

        前端基础之BOM和DOM   前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些 ...

    4. day35前端基础之BOM和DOM

      day35前端基础之BOM和DOM BOM操作 简介 BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏览器进行"对话". ...

    5. JavaScript BOM对象介绍

      bom:即broswer object model(浏览器对象模型),由五个对象组成:        Window:对象表示浏览器中打开的窗口 最顶层对象.       Navigator :浏览器对 ...

    6. 前端基础-JavaScript

      转载地址:http://www.cnblogs.com/yuanchenqi/articles/6893904.html 一.Javascript结构   ECMAScript  ECMAScript ...

    7. 前端基础----JavaScript基础

      一.JavaScript概述 1,JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEa ...

    8. 前端基础-JavaScript的基本概述和语法

      1.JavaScript概述 2.JavaScript引入方式 3.JavaScript语言规范 4.JavaScript语言基础 5.JavaScript数据类型 6.JavaScript运算符 7 ...

    9. 前端基础 DOM & BOM

      推荐阅读:http://www.cnblogs.com/yuanchenqi/articles/6893904.html#_label3 BOM对象 window 对象 所有浏览器都支持 window ...

    随机推荐

    1. XNA+WPF solution worked

      Cory Petosky's website Edit 11/17/2010: While this article's XNA+WPF solution worked when I wrote it ...

    2. 北京Uber优步司机奖励政策(1月12日)

      滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

    3. P1535 游荡的奶牛

      P1535 游荡的奶牛 题目描述 Searching for the very best grass, the cows are travelling about the pasture which ...

    4. Updating Homebrew... 长时间不动解决方法

      确保你已安装Homebrew 依次输入下面的命令(注意:不要管重置部分的命令,这里原作者贴出来.我也贴出来是以防需要重置的时候有参考操作命令) 替换brew.git: cd "$(brew ...

    5. 说说NSCache优于NSDictionary的几点

      1.NSCache可以提供自动删减缓存功能,而且保证线程安全,与字典不同,不会拷贝键.2.NSCache可以设置缓存上限,限制对象个数和总缓存开销.定义了删除缓存对象的时机.这个机制只对NSCache ...

    6. unity3d 角色头顶信息3D&2D遮挡解决方案(一)

      先上效果图,只凭文字描述,脑补应该有些困难- - 如图:有三个角色(我们暂且从左到右叫它们A.B.C),一个2D UI(中间动作选择的框框),一个cube(右边的方块) cube挡住了角色C的头顶信息 ...

    7. 2019年猪年海报PSD模板-第八部分

      11套精美猪年海报,免费猪年海报,下载地址:百度网盘,https://pan.baidu.com/s/1Y3wc_r7O-Dp0mLCihJ9mtQ            

    8. JDK11安装后,环境变量的坑

      安装了最新的JDK11,安装完后设置环境变量,打开CMD,没生效 检查了3遍,都没发现问题,在PATH中将JAVA设置移到第一也不行 最后偶然发现,在点击如图右下的‘编辑文本’,用文本方式编辑时,发现 ...

    9. Objective-C Block数据类型 @protocol关键字

      Block数据类型 Block封装了一段代码 可以在任何时候执行 Block可以作为函数参数或者函数的返回值 而其本身又可以带输入参数或返回值 苹果官方建议尽量多用Block 在多线程 异步任务 集合 ...

    10. 【rich-text】 富文本组件说明

      [rich-text] 富文本组件可以显示HTML代码样式. 1)支持事件:tap.touchstart.touchmove.touchcancel.touchend和longtap 2)信任的HTM ...