第八章 BOM

一. Window

在浏览器中window有双重角色,他既是JavaScript访问浏览器窗口的一个借口,又是ECMAscript 规定的Global对象。

1.全局作用域

由于window是ECMAscript 规定的Global对象的角色,因此在全局作用域中声明的变量,函数,都会是window对象的属性和方法。

2.窗口位置

a) screenLeft和screenTop

对与ie Safari Opera Chrome都提供了screenLeft,screenTop属性表示窗口相对于屏幕左边和上边的位置。Firefox则在screenX和screenY,属性和上面一样

跨浏览器的窗口位置的代码:

Var leftPos=(typeof window.screenLeft==”number”)?

window.screenLeft:screenX,

Var toppos=(typeof window.screenTop==”number”)?

window.screenTop:screenY,

b) MoveTo()和moveBy()

MoveTo接受的是新位置的x和y的坐标,

moveBy表示的是水平和垂直方向上移动的像素数。

3.窗口的大小

Ie9和其他浏览器中四个属性

OuterWidth和outerHeight表示的浏览器本身的尺寸,

innerWidth和innerHeight表示的是表示页面视图区域的大小(出去边框的宽度),

在ie8 以及更早的版本中,只提供了页面可见区域的相关信息,

document.documenteElement.clientWidth

document.documenteElement.clientHeight保存了页面的视口信息。在ie6中只有在标准模式下才有效,而在混杂模式下使用:

Document.body.clientWidth

Document.body.clientHeight

resizeTo()和resizeBy()方法可以调整浏览器窗口的大小;resizeTo()方法接受两个参数,表示的是新窗口的宽高。resizeBy()也是两个参数表示的是新窗口和原来窗口的高宽度只差。

4.对于移动端

可见视口:window.innerWidth和window.innerHeight保存着可见视口,也就是 屏幕上可见页面区域的大小,IE的移动浏览器不支持这些属性,但 是通过

document.documenteElement.clientWidth

document.documenteElement.clientHeight提供了相同的信息。随着页 面的缩放这些值也会变化。

布局视口:在其他移动浏览器中doxument.documenteElement保存的是布局视 口,即渲染后页面的实际大小,(可见视口是页面中的一部分), ie把布局视口保存在

Document.body.clientWidth

Document.body.clientHeight中

5.window 方法

Window.open()方法:接收四个参数,要加载的URL,窗口目标,一个特性字符串以及一个表示新页面是否取代浏览器历史记录中当前加载页面的布尔值。

第二个参数:该参数是已有的窗口或框架的名称,那么就会在具有该名称的窗口或框架中加载第一个参数指定的URL

如果第二个参数不存在,该方法会更具第三个参数特性打开一个新的窗口或新标签页,

特性有:fullscreen  值yes或no  表示窗口是否最大化 仅限IE

Height:新窗口的高度

Width:宽度

Left:新窗口的左坐标

Right:新窗口的右坐标

。。。。。。。。

Close()方法可以关闭新打开的窗口,这个方法仅限于用window.open()打开的窗口,

6.定时器

setTimeout():两个参数第一个是可以是字符串也可以是函数 第二参数是毫秒数  表示指定时间执行,

Setinterval();每隔多少秒执行

7.系统对话框

Alert(), confirm(),prompt()

confirm()比 alert()多了一个取消按钮

prompt()多了一个文本框共用户输入信息

二 location对象

Location不仅是window的属性还是document得属性

Location的属性:

Hash    #hhhh   返回的是URL中的hash(#号后跟0或多个字符)如果URL中不包含散列 返回空

Host       返回服务器名称和端口号

Hostname    返回不带端口的服务器名称

Href       返回当前页面的完整的URL

Pathname      返回URL中的目录或文件名

Port     返回URL中指定的端口号

Protocol    返回页面使用的协议

Search    “?=javascript”  返回URL的查询字符串,这个字符串以?开头

1.位置操作

1.使用assign()方法并为其传递一个URL,这样就可以立即打开一个新的URL并在浏览器历史记录中生成一个新记录

使用 window.location 和location.href和使用assign()方法一样

一般最常用的是location.href属性

以上的location的属性都可以改变当前浏览的页面,

2.reload()方法 重新加载当前显示页面,当不加任何参数时表示有可能从缓存中加载,当传递ture时表示从服务器加载。

三 navigator对象

Navigator的属性略

  1. 检测插件

Plugins数组:来检测插件(对ie无效)

属性:

Name :插件的名称

Description 插件的描述

Filename 插件的扩展名

Length:插件所处理的mime类型数量

如:

Function hasPlugin(name){

Name=name.toLowerCase();

For(var i=0;i<navigator.plugins.length;i++){

If(navigator.plugins[i].name.toLowerCase().indexOf(name)>-1){

Return ture;

}

}

Return false;

}

Alert(hasPlugons(“flash”))   检查flash

检测ie略

  1. 注册处理程序

registerContentHandler()和registerProtocoHandler()这两个方法可以让一个站点致命他可以处理特定类型的信息。

四 screen 对象

availHeight  屏幕的像素高度减去系统部件的高度之后的值

availWidth   屏幕的像素宽度减去系统部件的宽度之后的值

...........

五  history 对象

go()方法  可以接受一个整数值,正数表示向前跳转  负数表示向后跳转

也可以接受一个字符串,表示跳转历史记录中最近的相同的字符串的那个页面。

Back()

Forward()可以模仿浏览器的后腿和前进按钮

第8章BOM笔记的更多相关文章

  1. 《Linux内核设计与实现》课本第四章自学笔记——20135203齐岳

    <Linux内核设计与实现>课本第四章自学笔记 进程调度 By20135203齐岳 4.1 多任务 多任务操作系统就是能同时并发的交互执行多个进程的操作系统.多任务操作系统使多个进程处于堵 ...

  2. 《Linux内核设计与实现》课本第三章自学笔记——20135203齐岳

    <Linux内核设计与实现>课本第三章自学笔记 进程管理 By20135203齐岳 进程 进程:处于执行期的程序.包括代码段和打开的文件.挂起的信号.内核内部数据.处理器状态一个或多个具有 ...

  3. 《Linux内核设计与实现》课本第五章学习笔记——20135203齐岳

    <Linux内核设计与实现>课本第五章学习笔记 By20135203齐岳 与内核通信 用户空间进程和硬件设备之间通过系统调用来交互,其主要作用有三个. 为用户空间提供了硬件的抽象接口. 保 ...

  4. 《Linux内核设计与实现》 第一二章学习笔记

    <Linux内核设计与实现> 第一二章学习笔记 第一章 Linux内核简介 1.1 Unix的历史 Unix的特点 Unix很简洁,所提供的系统调用都有很明确的设计目的. Unix中一切皆 ...

  5. 《Linux内核设计与实现》第四章学习笔记

    <Linux内核设计与实现>第四章学习笔记           ——进程调度 姓名:王玮怡  学号:20135116 一.多任务 1.多任务操作系统的含义 多任务操作系统就是能同时并发地交 ...

  6. 《Linux内核设计与实现》第五章学习笔记

    <Linux内核设计与实现>第五章学习笔记 姓名:王玮怡  学号:20135116 一.与内核通信     在Linux中,系统调用是用户空间访问内核的唯一手段:除异常和陷入外,它们是内核 ...

  7. Linux内核分析第四章 读书笔记

    Linux内核分析第四章 读书笔记 第一部分--进程调度 进程调度:操作系统规定下的进程选取模式 面临问题:多任务选择问题 多任务操作系统就是能同时并发地交互执行多个进程的操作系统,在单处理器机器上这 ...

  8. 《Linux内核设计与分析》第四章读书笔记

    <内核设计与实现>第四章读书笔记 第四章:进程调度 进程(操作系统)程序的运行态表现形式. 进程调度程序,它是确保进程能有效工作的一个内核子系统. 调度程序负责决定将哪个进程投入运行,何时 ...

  9. 学习笔记(三)--->《Java 8编程官方参考教程(第9版).pdf》:第十章到十二章学习笔记

    回到顶部 注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法 ...

随机推荐

  1. CSS强制图片大小

    相信大家做网页时经常会碰到大分辨率的图片会把表格涨破以致漂亮的网页面目全非,但只要使用以下的CSS语句即可解决. 该CSS的功能是:大于600的图片自动调整为600显示. <style type ...

  2. C++构造函数 & 拷贝构造函数 & 派生类的构造函数 & 虚继承的构造函数

    构造函数 ,是一种特殊的方法 .主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中 .特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数 ...

  3. Facebook 正式开源其大数据查询引擎 Presto

    Facebook 正式宣布开源 Presto —— 数据查询引擎,可对250PB以上的数据进行快速地交互式分析.该项目始于 2012 年秋季开始开发,目前该项目已经在超过 1000 名 Faceboo ...

  4. SwitchySharp怎样设置 ( proxy switch!的设置与使用方法)

    规则列表URL  https://autoproxy-G{过}F{滤}Wlist.googlecode.com/svn/trunk/G{过}F{滤}Wlist.txt 注:不同的代{过}{滤}理  相 ...

  5. recovery编译汉化源码开源地址

    本Recovery基于xiaolu开源的不完全汉化版源码,进行完全汉化,并合并Philz的最新源码. 汉化耗费我将近一整天的精力,纯手打,可能有遗漏或翻译不准的地方,请到微博反馈 本Rec完全开源,便 ...

  6. new Date参数问题

    new Date支持的参数: MDN:   new Date();   new Date(value);   new Date(dateString);   new Date(year, month, ...

  7. 转 Jona Dany 一个20年架构师程序员的经验总结

    1.估算问题解决所需要的时间,为自己定一个时间限制,1小时,30分钟,15分钟.如果这期间不能解决问题,那就去寻求帮助.不要做超级堆码员. 2.编程语言是一种语言,只是一种语言.只要理解一种语言的原理 ...

  8. Android双击返回键退出Activity的两种方法

    在开发应用程序的时候,有一种功能是非常常用到的,那就是迅速双击返回按钮,然后实现退出Activity的功能.本人在网上看了很多资料代码,总结起来,主要有两种比较好的方式.一种是开线程延时执行,一种是记 ...

  9. myEclipse异常解决:Errors occurred during the build. Errors running builder Mule 3 hot deployment

    选择一个项目—-右键Properties—-Builders—-取消 “JavaScript Validator”  和 Mule 3 hot deployment 的勾就OK了 根据具体异常,勾选. ...

  10. HDU4432 Sum of Divisors

    涉及知识点: 1. 进制转换. 2. 找因子时注意可以降低复杂度. Sum of divisors Time Limit: 2000/1000 MS (Java/Others)    Memory L ...