第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:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法 ...
随机推荐
- flask开发restful api系列(7)-蓝图与项目结构
如果有几个原因可以让你爱上flask这个极其灵活的库,我想蓝图绝对应该算上一个,部署蓝图以后,你会发现整个程序结构非常清晰,模块之间相互不影响.蓝图对restful api的最明显效果就是版本控制:而 ...
- ViewPager+Fragment的结合使用,实现QQ界面的理解
http://www.cssxt.com/html/2449/2449.html 效果如图: 实现代码解析:MainActivity.java1.引入布局文件2.4个标题控件的初始化以及点击事件的监听 ...
- Cracking the coding interview--Q1.4
原文 Write a method to replace all spaces in a string with'%20'. You may assume that the string has su ...
- Basefragment的封装使用
1.前言 封装作为面向对象的三大特性之一,在我们平时的coding过程用的那是非常的多的.大多数时候,我们可以根据封装情况评判代码的质量水平. 本文主要讲解的是fragment的封装.大体上,在项目的 ...
- Android UI 之TextView控件属性列表
在网上收集到了TextView 的属性,在开发过程中还是挺有用的. android:autoLink 设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接.可选值(non ...
- [Tips]ASP.NET MVC 发布到服务器后Model中属性相关的Attribute失效
Asp.net MVC4 开发的项目,发布到真实环境环境后Model中的一个属性设置的了Attribute,但是这些Attribute都失效. 经过对比和坚持代码发现控制长度的Attribute使用错 ...
- hdu-1800
思路: 这题被坑的不轻. 首先花了一段时间想明白了思路是要找出现次数最多数字,以为这题就这样解决了,结果发现每个数字的最大长度是30,long long都装不下,因此就要用字符串来保存处理.然后在in ...
- MyBatis第一个项目示例
1.创建一个Java project,JikeBook 2.添加项目所需的依赖包 如 mybatis-3.2.8.jar,是实现mybatis功能所必需的依赖包 mysql-connector-jav ...
- SWFLoader交互
主应用程序: <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx=& ...
- easyui 获取cloumns字段
var colums=datagrid.datagrid('options').columns; var frozens=datagrid.datagrid('options').frozenColu ...