JavaScript学习笔记之BOM
BOM的核心对象是window,它既表示浏览器窗口以及页面可见区域,同时也是ECMAScript中的Globe对象,所有的全局变量和函数都是它的属性,并且所有的原声函数以及其他函数也都存在于它的命名空间下。
一,window窗口相关设置
1)获取浏览器窗口在显示屏的位置
根据浏览器不同,可以采用screenLeft,screenTop或者screenX,screenY,跨浏览器的代码如下:
//获取浏览器的位置 var leftPos=(typeof window.screenLeft =='number')?window.screenLeft:window.screenX; var topPos=(typeof window.screenTop =='number')?window.screenTop:window.screenY;
2)移动浏览器窗口的位置
moveTo,moveBy.不过该方法一般浏览器是禁用的
3)获取浏览器窗口大小,以及浏览器页面视口的大耵浏览器窗口的大小
不同浏览器的实现方法不同,最终无法确定浏览器窗口本身的大小,但是可以取得页面视口的大小
//获取浏览器视口的位置
var pageWidth=document.innerWidth;
var pageHeight=document.innerHeight;
if(typeof pageWidth!="number"){
if(document.compatMode=="CSS1Compat"){
pageWidth=document.documentElement.clientWidth;
pageHeight=document.documentElement.clientHeight;
}else{
pageWidth=document.body.clientWidth;
pageHeight=document.body.clientHeight;
}
}
alert(pageWidth+","+pageHeight);
4)调整浏览器窗口大小
可以利用resizeTo()和resizeBy()两个方法,不过这个方法一般也是被禁用的。
二、window相关的全局对象
1.location对象
1)location即是window的属性,也是document的属性,代表当前页面的访问地址
2)locaiton可以通过host,href,pathname,protocol,search等属性,访问当前url地址的相关字段
3)location可以改变当前的访问地址。多采用location.href="新地址"
4)location.reload()重新加载页面
2.navigation对象
代表浏览器应用,可以查询浏览器的版本,名称等。在实际中应用不多。
3.history对象
该对象保存着用户的上网历史,history.go(-n),history.go(n),如果仅仅前进/后退一步,可以使用back(),forward(),来模仿浏览器的前进/后退操作。
三、window相关的全局函数
1.Math,Date等对象提供的相关工具函数
2.window.open()弹出框函数,该方法可以导航到一个特定的url,可以打开一个新的浏览器窗口,接受四个参数,URL,窗口目标,一个特性字符串("_self,_blank,_parent等"),以及是否在浏览器历史记录中记录当前加载页面的布尔值。有些时候,弹出窗会受限于浏览器的安全限制。
3.间歇调用和超时调用
setTimeOut():接受两个参数,函数以及经过多长时间后该函数被调用
setInterVal():接受两个参数,函数以及每间隔多长时候该函数被调用一次
4,系统相关对话框
alert(),confirm(),prompt()
这几个对话框的外观由浏览器决定,而不是由css决定,同时,这些对话框都是同步和模态的,也就是说,显示这些对话框的时候,代码会停止运行,直到关闭这些对话框。
JavaScript学习笔记之BOM的更多相关文章
- JavaScript学习笔记之BOM对象
目录 1.Window 2.Window Screen 3.Window Location 4.Window History 5.Window Navigator 浏览器对象模型(Browser Ob ...
- JavaScript学习笔记(13)——BOM
1.window 所有浏览器都支持window对象,它表示浏览器窗口本身. 所有 JavaScript 全局对象.函数以及变量均自动成为 window 对象的成员. 全局变量是 window 对象的属 ...
- Java程序猿的JavaScript学习笔记(汇总文件夹)
最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...
- Java程序猿的JavaScript学习笔记(8——jQuery选择器)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- Java程序猿JavaScript学习笔记(2——复制和继承财产)
计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...
- Java程序猿的JavaScript学习笔记(3——this/call/apply)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- Java程序猿JavaScript学习笔记(4——关闭/getter/setter)
计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...
- Java程序猿JavaScript学习笔记(14——扩大jQuery UI)
计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...
- javascript学习笔记(四) Number 数字类型
数字格式化方法toFixed().toExponential().toPrecision(),三个方法都四舍五入 toFixed() 方法指定小数位个数 toExponential() 方法 用科学 ...
随机推荐
- Redis在windows环境下的部署
一.下载 官网地址:http://redis.io/download Git地址:https://github.com/MSOpenTech/redis 注:官方无windows版本,需要window ...
- PHP 错误与异常 笔记与总结(16 )自定义异常处理器
可以使用自定义异常处理器来处理所有未捕获的异常(没有用 try/catch 捕获的异常). set_exception_handler():设置一个用户定义的异常处理函数,当一个未捕获的异常发生时所调 ...
- sql语句什么时候用双引号或者单引号
INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN ); 如果数据是字符型,必须 ...
- UIButton的遍历
for (id obj in self.view.subviews) { if ([obj isKindOfClass:[UIButton class]]) { ...
- Bootstrap插件1--tooltip
在引入bootstrap.js之前我们需要引入jquery的js文件 既然是bootstrap的插件,那么自然需要引用bootstrap.js和bootstrap.css这2个核心文件了 这里了主要介 ...
- C# vba 操作 Word
添加引用 Microsoft Word *.0 Object Library Microsoft Graph *.0 Object Library 变量说明 Object oMissing = Sy ...
- 性能监控工具nmon
工具集: Nmon:性能数据收集分析工具 Nmon analyser:性能数据分析工具,excel文件 nmon概述: nmon是收集AIX或Linux主机的性能数据并分析的工具,使用简单易用 ...
- P1032 字串变换
最近在练习bfs,看到了02年提高组的这个题,顿时来了兴致,联想到前一阵子的八数码问题,具体就是使用一个字符串来存储状态,把他存储到一个图中,然后开始bfs,如果10步之内无法完成就剪枝,同时使用哈希 ...
- extjs MVC模式的个人看法
针对一个后台管理页面是mvc模式,后台也是mvc模式下的项目,要怎么去熟悉呢? 首先以我个人的认解,先从后台的管理界面来看,会有control,model,store,view:其中先看view的代码 ...
- 在HCI层ACL Connection的建立
一.概述 上一篇博文介绍的是inquiry的整个过程中HCI层的command和event.在寻找到有效的远端蓝牙设备后,开始建立ACL连接,这里仅仅反应HCI层的数据包,对于LM层和Base ...