关于BOM
BOM:浏览器对象模型 (Browser Object Model)主要定义的是JS操作浏览器的方法和属性。 大部分方法都在window下。
常用方法:(JS里面规定如果方法前面是window,window可以省略不写。)
open(地址url,打开的方式) :打开一个新的窗口,并返回新打开窗口的window对象。如果参数为空 默认为打开空白页面,默认为新窗口方式打开。
返回值:返回新打开的窗口的window对象。window.open();
close():关闭窗口,存在兼容问题,火狐下没反应, IE会询问是否确认关闭,谷歌直接关闭关闭时提示问题,不过这个属性并不常用。
可以关闭在本窗口中通过open方法打开的新窗口。 如下:
//实现 在本页面中打开一个新窗口,并点击本页面的一个按钮,再把新窗口关掉
opener = window.open(); //返回的新窗口对象
var btn.onclick = function(){
opener.close();
}
BOM常用属性
window.navigator.userAgent:浏览器的信息,比如版本号等
window.location:存放关于浏览器地址的一些信息,本身是一个对象,下面有方法和属性 。如下
window.location.href :浏览器具体地址 比如http://i.cnblogs.com/EditPosts.aspx?opt=1#123
window.location.search:地址栏问号后的信息,包括问号(?opt=1)
window.location.hash:地址栏#后的信息,包括#号。(#123)
文档可视区大小(指的是你视野范围可以看到的大小,不是实际大小。document是文档对象,documentElement文档元素)
document.documentElement.clientWidth/clientHeight
滚动距离(可视区的顶部到页面实际的顶部的距离,其实就是滚动出去的距离,有兼容问题)
document.documentElement.scrollTop/scrollLeft:其他浏览器
document.body.scrollTop/scrollLeft :谷歌认为是body的而不是文档
兼容处理,以scrollTop为例:
var scrollTop = document.documentElement.scrollTop||document.body.scrollTop;
文档实际的内容高度(包括超过父元素或者超出被隐藏的内容高度,padding+width)
document.body.scrollHeight(width)
文档对象内容的高度,包括body的margin+padding+width+border。
document.documentElement.offsetHeight(IE下有问题,它认为这个和可视区的高一样)
document.body.offsetHeight(推荐用这个)不包括body的margin.
window对象常用事件(事件触发次数是按时间间隔来算的,并不是你手动的频率)
onscroll :当滚动条滚动的时候触发
onresize :当窗口发生改变的时候触发
var i =0;
window.onscroll = function(){
document.title = i++;
}
window.onresize = function(){
document.title = i++;
}
如果大家有不同意见,不要只是点反对,欢迎评论指正,不然我不知道哪里有问题额。。。。。。
关于BOM的更多相关文章
- HTML BOM Browser对象
BOM:Browser Object Model,即浏览器对象模型,提供了独立于内容的.可以与浏览器窗口进行互动的对象结构. Browser对象:指BOM提供的多个对象,包括:Window.Navig ...
- 一步步学习javascript基础篇(7):BOM和DOM
一.什么是BOM.什么是DOM BOM即浏览器对象模型,主要用了访问一些和网页无关的浏览器功能.如:window.location.navigator.screen.history等对象. DOM即文 ...
- BOM,DOM,ECMAScripts三者的关系
一:DOM 文档对象模型(DOM)是表示文档(比如HTML和XML)和访问.操作构成文档的各种元素的应用程序接口(API) DOM是HTML与JavaScript之间沟通的桥梁. DOM下,HTM ...
- javascript学习之BOM
BOM是browser object model的缩写,简称浏览器对象模型.先看看下面这张图 window对象是BOM的顶层(核心)对象,所有对象都是通过它延伸出来的,也可以称为window的子对象. ...
- BOM以及定时器
一.BOM 1.操作浏览器的一些方法 (浏览器对象模型) 2.window是is中的顶级变量,是一个全局的变量,所有人都可以访问到它,基本 的方法和属性 (document,alert,console ...
- js浏览器对象模型(BOM)
浏览器对象模型(Browser Object Model,BOM):浏览器为js提供的对象集合. 1 windows对象 windows对象:表示浏览器的框架以及与其相关的内容,比如滚动条和导航栏图标 ...
- BOM操作
BOM操作 //浏览器对象模型 opener=window.open(页面的url,打开方式) opener.document.body.style.background="red" ...
- 什么是BOM头,BOM头有什么影响,怎么去掉BOM头
什么是bom头? 在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码,现在已经有很多软件识别bom头,但是还有些不能识别bom头,比如PHP就不能识别bom头,这也 ...
- Txt格式配置表无法解析的问题——BOM
今天再次遇到同一个问题:策划给来一个Txt格式配置表,我用解析类去读取,返回的结果为空.解析类参数是:主键key,文件名fileName,错误提示errorTip. 写读取语句的时候,主键key我是直 ...
- BOM对象有哪些:
BOM对象有哪些: 1.window对象 ,是JS的最顶层对象,其他的BOM对象都是window对象的属性: 2.document对象,文档对象: 3.location对象,浏览器当前URL信息: 4 ...
随机推荐
- ORACLE TO_CHAR函数格式化数字的出现空格的原因
在这篇博客SQL挑战--如何高效生成编码里面我由于需要将数字格式化为字符,像12需要格式化0012这样的字符,所以使用了TO_CHAR(数字,'0000')这样的写法,后面0000表示缺省补零,测试过 ...
- Linux多线程同步方式
当多个线程共享相同的内存时,需要确保每个线程看到一致的数据视图,当多个线程同时去修改这片内存时,就可能出现偏差,得到与预期不符合的值.为啥需要同步,一件事情逻辑上一定是有序的,即使在并发环境下:而操作 ...
- java web 中的servlet讲解
首先,解释一下解释一下什么是servlet?说一说Servlet的生命周期? servlet有良好的生存期的定义,包括加载和实例化.初始化.处理请求以及服务结束.这个生存期由javax.servlet ...
- yii2开发后记
h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h ...
- DGbroker三种保护模式的切换
1.三种保护模式 – Maximum protection 在Maximum protection下, 可以保证从库和主库数据完全一样,做到zero data loss.事务同时在主从两边提交完成,才 ...
- 烂泥:apache虚拟主机的学习与应用
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 要配置apache的虚拟主机,我们需要分以下几步进行: 1. 检查apache虚拟主机模块 2. 开启apache虚拟主机功能 3. httpd-vho ...
- my_mosaic
//功能:输入想要打马赛克的坐标点,宽,高以及每个边需要划分的块数进行打马赛克 //只能处理位图,根据不同色深定义depth即可 //还没写从文件头读取图片分辨率 #include<unistd ...
- CentOS系统启动流程你懂否
一.Linux内核的组成 相关概念: Linux系统的组成部分:内核+根文件系统 内核:进程管理.内存管理.网络协议栈.文件系统.驱动程序. IPC(Inter-Process Communicati ...
- SmartPointer Smar指针
#include<iostream> using namespace std; // private class for use by HasPtr only class U_Ptr { ...
- Nova 操作汇总(限 libvirt 虚机) [Nova Operations Summary]
本文梳理一下 Nova 主要操作的流程. 0. Nova REST-CLI-Horizon 操作对照表 Nova 基本的 CRUD 操作和 extensions: # 类别 Nova V2 REST ...