对BOM的总结

参考:JavaScript半知半解 TG著

BOM对象

Window对象是客户端JavaScript程序的全局对象。

Window对象使得JavaScript与浏览器进行交互。

所有的JavaScript全局对象,函数以及变量均自动成为window对象的属性和方法。

Document对象也是window对象的成员。

Window对象方法与浏览器交互的方法:

计时器

SetTimeOut()和SetInterval(),两个参数,一个是重复执行的代码,另外一个是重复的毫秒数,需要注意的是,这两个函数都会返回一个值,类似计时器ID,分别可以用clearTimeOut()与clearInterval()来取消执行。

注意:如果以0毫秒的超时时间来调用setTimeout(),那么指定的函数不会立刻执行。 相反,会把它放到队列中,等到前面处

于等待状态的事件处理程序全部执行完成后,再“立即”调用它。

浏览器的定位与导航

Window对象的location属性引用了Location对象,与document中的location属性引用的对象相同。它表示窗口中当前显示的文档的URL,并提供了方法来载入新的文档。

Location的功用是可以解析当前URL,分离出相关的信息,作为相关属性:当我们需要网址的时候:window.herf属性可以获取,同样的属性包括协议、主机、域名、端口。。等等根据需要查询文档。

需要注意的是以上属性都是可写的,在更改之后会按照我们更改的信息载入一个新的文档。

以上是属性部分,下面是location对象的一些方法:

location.assign() :使窗口载入并显示指定的URL中的文档。

location.replace() :和assign()方法类似,但它在载入新文档之前会从浏览历史中把当前文档删除。 这样“后退”按钮就不会把浏览器带回到原始文档。

location.reload() :重新载入当前文档,可传入一个布尔值为参数,默认false。 如果为true,则优先从服务器重新加载;否则优先从本地缓存中重新加载。

纯粹的片断标识符是相对URL的一种类型,它不会让浏览器载入新文档,而是使浏览器滚动到文档的某个位置。

注意:#top标识符是个特殊值:如果文档中没有元素的ID是“top”,它会让浏览器滚动到文档开始处。location = ‘#top‘; //跳转到文档的顶部

浏览历史

Window对象的history属性引用的是该窗口的History对象:History对象是用来把窗口浏览历史用文档和文档状态列表的形式

表示。

History对象的length属性表示浏览历史表中的元素数量。 比如你在当前窗口访问了三个不同的网址,那么history.length就等于3

相关方法:

back():移动到上一个访问页面,等同于浏览器的后退键。

forward():移动到下一个访问页面,等同于浏览器的前进键。

go():接受一个整数作为参数,移动到该整数指定的页面,比如go(1)相当于forward(),go(-1)相当于back()。

如果移动的位置超出了访问历史的边界,以上三个方法并不报错,而是默默的失败

history.go(0)相当于刷新当前页面。

TUDO

浏览器相关信息

Window对象的navigator属性引用的是包含浏览器产商和版本信息的Navigator对象

属性:

appName:Web浏览器的全称

appVersion:此属性通常以数字开始,并跟着包含浏览器产商和版本信息的详细字符串。 字符串前面的数字通常是4.0或5.0,表示它是第4或第5代兼容的浏览器。

userAgent:属性返回浏览器的User-Agent字符串,标示浏览器的厂商和版本信息。 它包含了appVersion中的所有信息:

用此属性可以判断是否为手机浏览器,在哪个平台。//利用返回的数据根据正则表达式来判断。

Platform:返回操作系统信息

onLine:返回浏览器是否链接到网络

Geolocation:返回一个Geolocation对象,包含用户地理位置信息。

方法:

javaEnabled()javaEnabled方法返回一个布尔值,表示浏览器是否能运行Java Applet小程序。

cookieEnable()cookieEnabled方法返回一个布尔值,表示浏览器是否能储存Cookie。

浏览器屏幕相关信息

Window对象的screen属性引用的是Screen对象,它提供有关窗口显示的大小和可用的颜色数量的信息。

属性:

Width:整个屏幕宽度

Height:整个屏幕高度

availHeight,availWidth:返回屏幕可用的高度和宽度,单位为像素。 它们的值为屏幕的实际大小减去操作系统某些功能占据的空间,比如系统的任务栏

colorDepth:返回屏幕的颜色深度,一般为16(表示16-bit)或24(表示24-bit)。

对话框:。

alert() :向用户显示一条消息并等待用户关闭对话框。

confirm() :同样显示一条消息,要求用户单击“确认”或“取消”按钮,并返回一个布尔值。

prompt() :同样显示一条消息,等待用户输入字符串,并返回这个字符串。

这三个方法都具有堵塞效应,一旦弹出对话框,整个页面就是暂停执行,等待用户做出反应。

错误处理:

Window对象的onerror属性是一个事件处理程序,当未捕获的异常传播到调用栈上时就会调用它,并把错误信息输出到浏览器的JavaScript控制台上。

多窗口和多窗体:

由于网页可以使用 <iframe> 嵌套多个网页,因此一个网页之中会形成多个窗口。 另一情况是,子网页之中又嵌入别的网页,形成多级窗口。 每个窗口的Window对象都是独立的,互不干扰。

浏览器提供了一些特殊变量,用来返回其他窗口。

top:顶层窗口, 即最上层的那个窗口

parent:父窗口

self:当前窗口, 即自身

下面的代码可以判断当前窗口是否是顶层窗口

window.top === window.self

与这些变量对应, 浏览器还提供一些特殊的窗口名, 供open方法、 `<a>`标签、 `<form>`标签等引用。

_top:顶层窗口

_parent:父窗口

_blank:新窗口

打开和关闭窗口:

使用Window对象的open()方法可以打开一个新的浏览器窗口。 Window.open()载入指定的URL到新的或已存在的窗口中,并

返回代表那个窗口的Window对象。

open方法一共可以接受四个参数。

第一个参数:字符串,表示新窗口的网址。 如果省略,默认网址就是 about:blank 。

第二个参数:字符串,表示新窗口的名字。 如果该名字的窗口已经存在,则跳到该窗口,不再新建窗口。 如果省略,就默认

使用_blank,表示新建一个没有名字的窗口。

第三个参数:字符串,内容为逗号分隔的键值对,表示新窗口的参数,比如有没有提示栏、 工具条等等。 如果省略,则默认

打开一个完整UI的新窗口。

第四个参数:布尔值,表示第一个参数指定的网址,是否应该替换history对象之中的当前网址记录,默认值为false。 显然,

这个参数只有在第二个参数指向已经存在的窗口时,才有意义。

window.close方法用于关闭当前窗口,一般用来关闭window.open方法新建的窗口。

modal.close();

窗体:

窗体是通过 <iframe> 元素创建的,我们可以像获取其他元素一样,获取一个表示 <iframe> 的元素对象,同时,

<iframe> 元素有 contentWindow 属性,引用该窗体的Window对象。

<iframe id=‘f‘></iframe>

var f = document.getElementById(‘f‘);

var win = f.contentWindow; //子窗体的Window对象

var doc = f.contentDocument; //等同于f.contentWindow.document

//获取子窗体的变量和属性

f.funciton()

F.title

时间: 2024-10-10 23:33:54

对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