关于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++;

}

如果大家有不同意见,不要只是点反对,欢迎评论指正,不然我不知道哪里有问题额。。。。。。

时间: 2024-10-05 09:03:10

关于BOM的相关文章

诡异的json包含bom头

今日项目碰到 bom头跑错 Exception in thread "main" com.fasterxml.jackson.core.JsonParseException: Unexpected character ('' (code 65279 / 0xfeff)): expected a valid value (number, String, array, object, 'true', 'false' or 'null') at [Source: {"state&q

BOM

Q:BOM是什么? A:"浏览器对象模型".是Web中使用JS的核心.(而ECMAScript是JavaScript的核心). Q:window对象与全局变量有差别吗? A:全局变量不能通过delete操作符删除,而直接在windows对象上的定义的属性可以. var age = 29; window.color = "red"; delete window.age; //age不是全局变量,false delete window.color; //true ale

DOM_04之常用对象及BOM

1.添加:①var a=document.createElement("a"):②设置关键属性:③将元素添加到DOM树:a.parent.appendChild(a):b.parent.insertBefore(a,old):c.parent.replaceChlid(a,old): 2.优化:尽量少的操作DOM树,①如果同时添加父元素与子元素,应在内存中先将子元素拼到父元素下,再将父元素添加到DOM树:②如果添加多个平级子元素,应先将所有子元素放入文档片段,再将文档片段一次性添加到D

关于JSON解析的深坑之BOM头

    前言:在我们对Json字符串进行处理时,往往会碰到这个问题org.json.JSONException: Value of type java.lang.String cannot be converted to JSONObject,解析服务器返回的Json串时,JSONObject对象抛出了这个异常.其实这是返回的Json字符串含有BOM头导致的. 本人手拙,写的不好.望各位大虾见谅!!! 什么是JSON?  JSON(JavaScript Object Notation) 是一种轻

BOM和DOM

BOM 浏览器对象模型 BOM中的对象 Window对象:是指窗口对象,可通过Window对象的属性和方法控制窗口,例如打开或关闭一个窗口 History对象:指历史页面,通过History对象的属性和方法实现前进后退的功能 Location对象:指地址栏,通过属性的方法控制页面的跳转 Document对象:指网页中的内容,通过属性和方法控制页面元素 1.Window对象的常用方法: open(); close(); alert(); prompt(); confim(); setTimeout

BOM和DOM自己的一些小观点和认识

BOM主要针对的是浏览器的操作,常用的也就是五个对象:window对象 location对象 navigation对象 screen对象和history对象 window对象主要讲的就是对浏览器的一些操作,有一些常用的方法,比如alert comfirm prompt方法. location对象英文翻译过来就是位置对象,那么顾名思义就是对位置和偏移量之间的操作. navigation对象就好像一个导航的东西,告诉你一些URL里面的知识,和获取浏览器当前页面完整URL的一些信息. screen就是

xpages开发的bom管理系统

domino对流程设计是方便的,如果制作复杂逻辑的应用就难了,但是还是可以实现的,以前的一个bom管理系统,刚开始想使用java的ssh来做,后来为了统一平台,还是使用domino来做,经过长时间的研究终于出来了,这是使用xpages来做的,当然使用domino的form来做同样没有问题的,因为数据结构一样的,思路差不多,由于使用xpags已经久了,就不再使用form的web来做了.以下是界面,分享一下,以便给大家信心!

JSONP / DOM / BOM 部分总结

#JSONP 跨域请求 JSONP原理:通过动态创建script标签,利用其scr跨域的属性,访问其他域的服务器,请求数据并通过回调函数返回请求的结果 20:26 2017/7/13 突然发现在记事本按F5可以自动写出当前日期和时间,美滋滋 1.递归函数应该始终使用arguments.callee来递归的调用自身. 不要使用函数名 (函数名可能会发生变化)2.匿名函数 也叫 拉姆达函数3.关于闭包的作用域: 闭包的作用域链包含着它自己的作用域. 包含函数的作用域和全局作用域 通常,函数的作用域及

ALVtree 显示BOM结构

REPORT  z_barry_alv_tree1_bom MESSAGE-ID oo. TABLES: stpox.INCLUDE <icon>. CLASS: cl_gui_column_tree DEFINITION LOAD,       cl_gui_cfw DEFINITION LOAD . DATA: tree1  TYPE REF TO cl_gui_alv_tree ,      mr_toolbar TYPE REF TO cl_gui_toolbar . DATA: gs

BOM之history对象

前面的话 history对象保存着用户上网的历史记录,从窗口被打开的那一刻算起.由于安全方面的考虑,开发人员无法得到用户浏览器的URL,但借由用户访问过的页面列表,可以在不知道实际URL的情况下实现后退和前进.本文将详细介绍BOM中的history对象 length history.length属性保存着历史记录的URL数量.初始时,该值为1.如果当前窗口先后访问了三个网址,history.length属性等于3 由于IE10+浏览器在初始时返回2,存在兼容性问题,所以该值并不常用 histor