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. mybatis入门(二):增删改查

      mybatis的原理: 1.mybatis是一个持久层框架,是apache下的顶级项目 mybatis托管到googlecode下,目前托管到了github下面 2.mybatis可以将向prepar ...

    2. 厦门Uber优步司机奖励政策(1月4日~1月10日)

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

    3. Mybatis之XML、注解

      前言 上篇简单介绍了Mybatis的简单实用,本篇先对上次实验环境的一些内容进行优化,然后验证Mybatis的XML配置以及注解方式. 实验环境优化 数据库配置 在mybatis的配置文件中,引入数据 ...

    4. ORB-SLAM跑通笔记本摄像头

      环境:Ubuntu 14.04 + ROS indigo + ORB-SLAM2 (Thinkpad T460s) 1. 安装ORB-SLAM: Pangolin Pangolin有一些依赖库,按照提 ...

    5. uvaoj1225Digit Counting(暴力)

      Trung is bored with his mathematics homeworks. He takes a piece of chalk and starts writing a sequen ...

    6. 第五模块:WEB开发基础 第1章·HTML&CSS基础

      01-前端介绍 02-HTML介绍 03-HTML文档结构 04-head标签相关内容 05-常用标签一之h1~h6,p,a 06-常用标签一之ul.ol.div.img.span 07-常用标签二- ...

    7. Jenkins构建完成后实现自动将war包部署到指定服务器

      首先我们需要确定我们的jenkins安装了:publish over ssh 插件,如果没有安装,到-->jenkins首页-->系统管理-->插件管理-->可选安装里面去搜 ...

    8. Java开发工程师(Web方向) - 03.数据库开发 - 第2章.数据库连接池

      第2章--数据库连接池 数据库连接池 一般而言,在实际开发中,往往不是直接使用JDBC访问后端数据库,而是使用数据库连接池的机制去管理数据库连接,来实现对后端数据库的访问. 建立Java应用程序到后端 ...

    9. 浅谈java中接口与抽象类之间的异同

      刚学习java的时候,总觉得接口和抽象类很像,但又说不上具体有什么区别.今天静下来,翻翻书,查查资料,做个小结.首先举两个例子,看看interface和abstract class 在“外形”上有啥异 ...

    10. 【聚合报告】- 秒懂jmeter