javascript BOM 各种对象 0816(更新中)

一.BOM

浏览器对象模型。包括window, document, location ,navigator , screen,frame对象

BOM提供了独立于内容而与浏览器窗口进行交互的对象。

二.window对象

window对象表示整个浏览器窗口,但不必表示其中包含的内容。Window还可用于移动或调整它表示的浏览器的大小。

  (1)、window对象在框架中的应用

使用框架集合,每个框架都由它自己的window对象表示,存放在frames集合中。可用数字(由0开始,从左到右,逐行的)或名字对框架进行索引。可以用top对象代替window对象(例如:top.frames[0])。top对象指向的都是最顶层的框架,即浏览器窗口自身。

  (2)、窗口操作

 (3)、状态栏

window.status属性设置状态栏要显示的内容。     

window.defaultStatus属性设置状态栏默认显示内容。

三.document对象

document对象是window对象的属性,是唯一一个既属性BOM又属性DOM。

  document对象也有许多集合,提供对载入的页面的各个部分的访问:

集合 说明
anchors 页面中的所有锚的集合
applets 页面中所有applet的集合
embeds 页面中所有嵌入式对象的集合
forms 页面中所有表单的集合
images 页面中所有图像的集合
links 页面中所有链接的集合

可以用数字或名字引用document对象的每个集合。如:document.images[0]

四.location对象

Location 对象包含有关当前 URL 的信息。

1.Location 对象属性

         假设当前的 URL 是: http://example.com:1234/test.htm#part2:

hash:hash 属性是一个可读可写的字符串,该字符串是 URL 的锚部分(从 # 号开始的部分)。

          使用document.write(location.hash);

          输出:#part2

host:host 属性是一个可读可写的字符串,可设置或返回当前 URL 的主机名称和端口号。

        document.write(location.host);

        输出:example.com:1234

hostname:hostname 属性是一个可读可写的字符串,可设置或返回当前 URL 的主机名。

 href:        href 属性是一个可读可写的字符串,可设置或返回当前显示的文档的完整 URL。

                document.write(location.href);

                输出:http://example.com:1234/test.htm#part2

port:  port 属性是一个可读可写的字符串,可设置或返回当前 URL 的端口部分

partname: pathname 属性是一个可读可写的字符串,可设置或返回当前 URL 的路径部分

                document.write(location.pathname);              

                 输出:/test/test.htm

protocol: protocol 属性是一个可读可写的字符串,可设置或返回当前 URL 的协议。

              document.write(location.protocol);

              输出:http:

search:   search 属性是一个可读可写的字符串,可设置或返回当前 URL 的查询部分(问号 ? 之后的部分)。

             假设当前的 URL 是: http://www.w3school.com.cn/tiy/t.asp?f=hdom_loc_search    

              document.write(location.search);         

              输出:?f=hdom_loc_search

2.location对象方法

assign(): assign()方法可加载一个新的文档。

               语法:location.assign(URL)

                window.location.assign("http://www.w3school.com.cn")

reload():reload()方法用于重新加载当前文档。

replace() :replace()方法可用一个新文档取代当前文档。 语法:location.replace(newURL)

   replace() 方法不会在 History 对象中生成一个新的记录。当使用该方法时,新的 URL 将覆盖 History 对象中的当前记录

五.navigator对象

  反映了当前使用的浏览器的资料。

属性

appCodeName 返回浏览器的“码名”(?),流行的 IE 和 NN 都返回 'Mozilla'。
appName
返回浏览器名。IE 返回 'Microsoft Internet Explorer',NN 返回 'Netscape'。
appVersion
返回浏览器版本,包括了大版本号、小版本号、语言、操作平台等信息。
platform
返回浏览器的操作平台,对于 Windows 9x 上的浏览器,返回 'Win32'(大小写可能有差异)。
userAgent
返回以上全部信息。例如,IE5.01 返回 'Mozilla/4.0 (compatible; MSIE 5.01; Windows 98)'。
javaEnabled() 返回一个布尔值,代表当前浏览器允许不允许 Java。

screen 屏幕对象 反映了当前用户的屏幕设置。

opener  用法:window.opener;返回打开本窗口的窗口对象。注意:返回的是一个窗口对象。如果窗口不是由其他窗口打开的,在 Netscape 中这个属性返回 null;在 IE 中返回“未定义”(undefined)。undefined 在一定程度上等于 null。注意:undefined 不是 JavaScript 常数,如果你企图使用“undefined”,那就真的返回“未定义”了。
self  指窗口本身,它返回的对象跟 window 对象是一模一样的。最常用的是“self.close()”,放在<a>标记中:“<a href="javascript:self.close()">关闭窗口</a>”。
parent  返回窗口所属的框架页对象。
top  返回占据整个浏览器窗口的最顶端的框架页对象。

protocol 返回地址的协议,取值为 'http:','https:','file:' 等等。
hostname
返回地址的主机名,例如,一个“http://www.microsoft.com/china/”的地址,location.hostname == 'www.microsoft.com'。
port
返回地址的端口号,一般 http 的端口号是 '80'。
host
返回主机名和端口号,如:'www.a.com:8080'。
pathname
返回路径名,如“http://www.a.com/b/c.html”,location.pathname == 'b/c.html'。
hash
返回“#”以及以后的内容,如“http://www.a.com/b/c.html#chapter4”,location.hash == '#chapter4';如果地址里没有“#”,则返回空字符串。
search
返回“?”以及以后的内容,如“http://www.a.com/b/c.asp?selection=3&jumpto=4”,location.search == '?selection=3&jumpto=4';如果地址里没有“?”,则返回空字符串。
href
返回以上全部内容,也就是说,返回整个地址。在浏览器的地址栏上怎么显示它就怎么返回。如果想一个窗口对象打开某地址,可以使用“location.href = '...'”,也可以直接用“location = '...'”来达到此目的。



方法

open() 打开一个窗口。用法:open(<URL字符串>, <窗口名称字符串>, <参数字符串>);
  <URL字符串>:描述所打开的窗口打开哪一个网页。如果留空(''),则不打开任意网页。
  <窗口名称字符串>:描述被打开的窗口的名称(window.name),可以使用'_top'、'_blank'等内建名称。这里的名称跟“<a href="..." target="...">”里的“target”属性是一样的。
  <参数字符串>:描述被打开的窗口的样貌。如果只需要打开一个普通窗口,该字符串留空(''),如果要指定样貌,就在字符串里写上一到多个参数,参数之间用逗号隔开。

例:打开一个 400 x 100 的干净的窗口:
open('','_blank','width=400,height=100,menubar=no,toolbar=no,
location=no,directories=no,status=no,scrollbars=yes,resizable=yes')

open() 方法有返回值,返回的就是它打开的窗口对象。所以,

var newWindow = open('','_blank');

这样把一个新窗口赋值到“newWindow”变量中,以后通过“newWindow”变量就可以控制窗口了。

 

close() 关闭一个已打开的窗口。
用法:window.close() 或self.close():关闭本窗口;
   <窗口对象>.close():关闭指定的窗口。
如果该窗口有状态栏,调用该方法后浏览器会警告:“网页正在试图关闭窗口,是否关闭?”然后等待用户选择是否;如果没有状态栏,调用该方法将直接关闭窗口。





六. screen对象

  • JavaScript availHeight 属性 -- 窗口可以使用的屏幕高度,单位像素
  • JavaScript availWidth 属性 -- 窗口可以使用的屏幕宽度,单位像素
  • JavaScript colorDepth 属性 -- 用户浏览器表示的颜色位数,通常为32位(每像素的位数)
  • JavaScript pixelDepth 属性 -- 用户浏览器表示的颜色位数,通常为32位(每像素的位数)(IE不支持此属性)
  • JavaScript height 属性 -- 屏幕的高度,单位像素
  • JavaScript width 属性 -- 屏幕的宽度,单位像素
原文地址:https://www.cnblogs.com/peng14/p/2642079.html