JavaScript Document对象

  每个Window对象都有document属性,该属性引用表示在窗口中显示HTML文档的Document对象。几乎所有启用JavaScript的浏览器都能实现Document对象,较新的浏览器实现了完整的文档对象模型(DOM),使JavaScript能完全访问和控制文档的所有内容。 

  在Document对象中定义了四个关键方法:
  close()
     关闭或结束open()方法打开的文档,这个方法非常重要,要记得在open()一个新文档 后关闭
  open()
     产生一个新文档,擦掉已有的文档内容
  write()
     把文本附加到当前打开的文档
  writeln()
     把文本输出到当前打开的文档,并附加一个换行符

  Document对象的属性:
  alinkColor、linkColor、vlinkColor
     这些属性描述了超级链接的颜色。linkColor是未被访问过的链接颜色、vlinkColor是被访问过的链接颜色、alinkColor是被激活的链接颜色。这些属性对应于标记   <body>的属性alink、link和vlink
  anchors[]
     Anchor对象的一个数组,该对象代表文档中的锚
  applets[]
     Applet对象的一个数组,该对象代表文档中的Java小程序
  bgColor、fgColor
     文档背景颜色和前景颜色,对应于标记<body>的性质bgcolor和text
  cookie
     一个特殊属性,允许JavaScript程序读写HTTP cookie(以后再详细介绍)
  domain
     该属性使处于同一Internet域中的相互信托的Web服务器在网页间交互时能协同放松 某项安全限制
  forms[]
     Form对象的一个数组,该对象代表文档中的<form>元素
  images[]
     Image对象的一个数组,该对象代表文档中的<img>元素
  lastModified
     一个字符串,包含文档的修改日期
  links[]
     Link对象的一个数组,该对象代表文档中的超文本链接的Link对象
  location
     等价于属性URL,其使用时遭反对的
  referrer
     文档的URL,包含把浏览器带到当前文档的链接(如果存在这样的链接)
  title
     位于文档标记<title>和</title>之间的文本
  URL
     一个字符串。声明了装载文档的URL。除非发生了服务器重定向,否则该属性的值与Window对象的属性location.href相同

  我们在HTML文档中每添加一个<form>、<img>、<a>和<applet>等元素,都会在Dcoument对象的forms[]、images[]、links[]和applets[]数组中添加一个元素,这样我们就能够通过document.forms[i]等来访问它们。但如果我们给<form>、<img>、<a>和<applet>等元素设定name性质,就可以通过名字来引用这些对象。

  对于Document对象的事件处理程序,会在以后专门拿一个部分介绍。

  Document对象的一个重要特性是方法write(),我们可以用它从JavaScript程序中动态生成网页的内容。使用write()方法有两种方式:第一种,在脚本中使用它,把HTML输入到当前正在被解析的文档中,这种方法只能在当前文档正在解析时使用;另一种方法,用write()方法和open()方法及close()Document方法一起在窗口或框架中创建全新文档,如果document.write()方法在事件处理程序中调用,结果会覆盖当前文档,这因为JavaScript解析器会认为你是调用一个关闭的文档的write()方法,这样它就会隐式地打开一个新HTML文档,而当前文档被丢弃。
  write()方法可以具有多个参数,它会将这些参数,作为一个串输出。
  writeln()方法用法同write()方法。


  referrer属性技巧(不过不要用来涉及安全问题,它的重大缺陷是对于不支持JavaScript的浏览器和禁用JavaScript的用户来说不起作用):
     <script>
         //如果从外部站点链接,首先去主页
         if(document.referrer==""||document.referrer.indexOf('mysite.?') == -1)
         window.location = "http://homepage"; 
     </script>

  Document对象的images[]属性是一个Image对象的数组,每个元素代表由<img>创建的一个内联图像,我们可以通过Image对象动态的对图像进行操作。
  Image对象的src属性是可以读写的。这样我们就可以通过设置src的属性使浏览器装载一个新图像并显示在同一个地方。
  要使图像置换技术切实可行,还要动画或其他特殊效果都能做出相应。这样,我们还需要一种方法,用来确保所需的图像被“预载”进了浏览器的缓存中。要使图像被缓存起来,需要用Image()构造函数创建一个屏外图像,然后把它的src属性设置成想要的URL(与在屏幕上创建的图像完全一样)。这样,当要在屏幕上使用同一个URL时,它就能够从浏览器缓存中被迅速装载进来。要注意,我们从不用屏外图像做任何事,尤其不会把屏外Image对象赋给文档的images[]数组。
  Image对象的事件处理程序:
  无论是一个Image对象在屏幕上由标记<img>创建,还是在屏外由构造函数Image()创建,都具有事件处理程序onload,它在图像被完全装载后自动调用。此外,在图像转载工程中出错时调用onerror事件处理程序。当用户在图像装载完之前就取消它(如点击浏览器Stop按钮)调用onabort处理程序。处理这三个事件处理程序,Image对象还有一个complete属性,图像正在装载时,为false;图像停止装载时,为true。就是说,如果前面三种事件处理程序中任何一个被调用,它就为true。(P288)
  Image对象还有width、height、border、hspace和vspace等只读属性。Image对象的lowsrc属性反映了<img>标记的lowsrc性质,指定在低分辨率设备上显示的图像的URL。

  Document对象的links[]数组包含代表文档中的超文本链接Link对象,它代表超文本链接的URL,即标记<a>和<area>的href性质值。

  Document对象的数组anchors[]包含了代表HTML文档中已命名位置的Anchor对象,这些位置由标记<a>和它的性质name标识。

  Docment对象的applets[]数组表示由标记<applet>或<object>嵌入在文档中的小程序。而embeds[]代表由标记<embed>或<object>嵌入文档的除了小程序以外的数据对象被嵌入的数据可以是任何形式的(音频视频数据等),要显示这些数据,必须要有相应的查看程序,如Netscape中的“插件”,或是IE中的ActiveX控件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值