第8章BOM笔记
第八章 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的属性略
- 检测插件
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略
- 注册处理程序
registerContentHandler()和registerProtocoHandler()这两个方法可以让一个站点致命他可以处理特定类型的信息。
四 screen 对象
availHeight 屏幕的像素高度减去系统部件的高度之后的值
availWidth 屏幕的像素宽度减去系统部件的宽度之后的值
...........
五 history 对象
go()方法 可以接受一个整数值,正数表示向前跳转 负数表示向后跳转
也可以接受一个字符串,表示跳转历史记录中最近的相同的字符串的那个页面。
Back()
Forward()可以模仿浏览器的后腿和前进按钮
第8章BOM笔记的更多相关文章
- 《Linux内核设计与实现》课本第四章自学笔记——20135203齐岳
<Linux内核设计与实现>课本第四章自学笔记 进程调度 By20135203齐岳 4.1 多任务 多任务操作系统就是能同时并发的交互执行多个进程的操作系统.多任务操作系统使多个进程处于堵 ...
- 《Linux内核设计与实现》课本第三章自学笔记——20135203齐岳
<Linux内核设计与实现>课本第三章自学笔记 进程管理 By20135203齐岳 进程 进程:处于执行期的程序.包括代码段和打开的文件.挂起的信号.内核内部数据.处理器状态一个或多个具有 ...
- 《Linux内核设计与实现》课本第五章学习笔记——20135203齐岳
<Linux内核设计与实现>课本第五章学习笔记 By20135203齐岳 与内核通信 用户空间进程和硬件设备之间通过系统调用来交互,其主要作用有三个. 为用户空间提供了硬件的抽象接口. 保 ...
- 《Linux内核设计与实现》 第一二章学习笔记
<Linux内核设计与实现> 第一二章学习笔记 第一章 Linux内核简介 1.1 Unix的历史 Unix的特点 Unix很简洁,所提供的系统调用都有很明确的设计目的. Unix中一切皆 ...
- 《Linux内核设计与实现》第四章学习笔记
<Linux内核设计与实现>第四章学习笔记 ——进程调度 姓名:王玮怡 学号:20135116 一.多任务 1.多任务操作系统的含义 多任务操作系统就是能同时并发地交 ...
- 《Linux内核设计与实现》第五章学习笔记
<Linux内核设计与实现>第五章学习笔记 姓名:王玮怡 学号:20135116 一.与内核通信 在Linux中,系统调用是用户空间访问内核的唯一手段:除异常和陷入外,它们是内核 ...
- Linux内核分析第四章 读书笔记
Linux内核分析第四章 读书笔记 第一部分--进程调度 进程调度:操作系统规定下的进程选取模式 面临问题:多任务选择问题 多任务操作系统就是能同时并发地交互执行多个进程的操作系统,在单处理器机器上这 ...
- 《Linux内核设计与分析》第四章读书笔记
<内核设计与实现>第四章读书笔记 第四章:进程调度 进程(操作系统)程序的运行态表现形式. 进程调度程序,它是确保进程能有效工作的一个内核子系统. 调度程序负责决定将哪个进程投入运行,何时 ...
- 学习笔记(三)--->《Java 8编程官方参考教程(第9版).pdf》:第十章到十二章学习笔记
回到顶部 注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法 ...
随机推荐
- 编译的时候 c:\windows\assembly\ 卸载不掉
easyhook 开始还可以调试,几次过后 其自己去找c:\windows\assembly\ 下的包,编译多少次都不行. c:\windows\assembly\ 卸载不掉 cmd cd \win ...
- nginx读书日志
2016.12.20 nginx 功能特性: 既可以作为http服务器,也可以作为反向代理服务器或者邮件服务器 基本服务:处理静态文件,处理索引文件以及支持自动索引 nginx服务器中主要由proxy ...
- Linux命令记录
端口号 1.查看端口号 使用netstat -anp来查看那些端口被打开.加参数'-n'会将应用程序转为端口显示,即数字格式的地址,如:nfs->2049, ftp->21,因此可以开启两 ...
- [工具]前端自动化工具grunt+bower+yoman
安装过程 安装nodejs 安装grunt,bower,yoeman 命令:(-g 表示全局安装,否则安装到当前目录下) npm install -g grunt-cli npm install -g ...
- 【细说Java】Java变量初始化顺序
Java的变量初始化顺序,对这里一直似懂非懂,面试的时候也经常被问到,但答的一直不好,现在整理记录一下,以后忘记了可以来看看. 程序分为两个部分,第一个部分不考虑继承,第二个部分考虑继承: (1)不考 ...
- 2015第27周三Java内存模型
自己写的代码,6个月不看也是别人的代码,自己学的知识也同样如此,学完的知识如果不使用或者不常常回顾,那么还不是自己的知识. 要认识java线程安全,必须了解两个主要的点:java的内存模型,java的 ...
- http协议使用实例
#include <stdio.h>#include <windows.h>#include <wininet.h> #define MAXSIZE 1024#pr ...
- 浏览器开发 IE webkit chrome浏览器定制
FAQ:制作自己的浏览器有何意义?1.浏览器按照您的需求命名,可自定义LOGO,对您的产品或者公司都有推广作用.2.在帮助一栏的主页以及软件安装的网页链接都可以设为您网站的链接. 3.可将首页设置为您 ...
- CSS 代码是什么?(转)
转自:http://www.divcss5.com/rumen/r95.shtml CSS 代码是什么,什么是CSS代码? 目录 什么是CSS css代码样子(图) 作用 相关扩展阅读 一.了解什么是 ...
- js 截取字符串
转:http://blog.csdn.net/dotnet25/article/details/8331959 字符串:var s = "1,2,3,4,5," 目标:删除最后一个 ...