24小时热门版块排行榜    

查看: 80  |  回复: 0
当前主题已经存档。

lfl_jeetoon

铜虫 (初入文坛)

[交流] JavaScript引用已打开的窗口

  如果你想关联一个指定的窗口,你可以使用< A >标记的TARGET属性。除非你分配,一个浏览器窗口不会有一个名字。当你使用TARGET属性通过一个链接打开一个新窗口时,你就分配给它了一个清晰的名字:
  Intel
  前面的链接打开一个新窗口,名叫review。下面的链接通过JavaScript产生同样的效果:
      onClick="window.open('http://www.intel.com/', 'review'); return false">Intel
  如你所见,给一个新窗口分配一个名字是非常简单的事情。但是,给一个存在的窗口命名,或者给一个用户产生的窗口命名,又会怎样呢?
  window对象的name属性可以让你通过JavaScript设置任何窗口的名字。如果你想建立一个新窗口,它可以关联父窗口的链接和表单,就一定要分配给打开者一个名字:
  window.name = "main";
  var map = window.open("newpage.html", "map";
  如果在newpage.html中包含了下面的链接,就会在父窗口中装载下面的页面:
  Doc JavaScript
打开者的属性
  opener属性设置或者取回创建当前窗口的那个窗口的引用。当调用open()方法在目标窗口打开一个源文档时,opener属性(隶属于目标窗口的window对象)就定义了源文档所在的窗口。这个属性在打开的窗口中一直存在,所以即使新窗口中的URL改变时,它仍旧可以访问。
  opener属性是父窗口window对象的引用,所以你就可以充分利用这个属性,通过脚本程序,在新窗口中执行对打开窗口的任何操作。比如,在目标文档中使用下面的脚本程序去修改打开窗口的背景色彩:
  window.opener.document.bgColor = "beige";
  呵呵,如果你目光敏锐,你也许注意到上面这个语句的错误。我们必须检查是否打开窗口仍然存在,然后才能决定去修改它的相关属性。下面是正确的代码:
  if (window.opener && !window.opener.closed)
   window.opener.document.bgColor = "beige";
  opener属性非常有用,因为它建立了打开窗口与被打开窗口之间的双向联系。
  让我们给出个实际的例子,看看它是如果工作的,下面是出现在主页面上表单的HTML代码:
  
Enter your favorite tech stock:
  
  
  

  注意,表单的名字是stockForm,文本域的名字是stockBox,“list”按钮激活showList()函数。同时,在文档的
  < Body >标记中设置onUnload事件处理程序,它将执行remLink()函数。下面是这2个函数的代码:
  
  当前文档被卸载时,remLink()函数设置子窗口的opener属性为null。新窗口中的脚本程序在分配文本域数值前检查opener属性。我们必须使用这个函数,因为如果一个不同文档在新窗口中被装载,这个窗口的脚本程序就不能访问文本框。
  下面是stocklist.html的代码:
  
  
  Stock List
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
NYSENASDAQ
AOL CSCO
CPQ INTC
NOK SUNW
LU AMZN
T MSFT

  
  
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lfl_jeetoon 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 290求调剂 +9 材料专硕调剂; 2026-02-28 11/550 2026-03-01 17:21 by sunny81
[考研] 321求调剂一志愿东北林业大学材料与化工英二数二 +4 虫虫虫虫虫7 2026-03-01 7/350 2026-03-01 16:52 by caszguilin
[考研] 285求调剂 +8 满头大汗的学生 2026-02-28 8/400 2026-03-01 16:47 by caszguilin
[基金申请] 刚录用,没有期刊号,但是在线可看的论文可以放为代表作吗 10+3 arang1 2026-03-01 3/150 2026-03-01 16:43 by babero
[考研] 313求调剂 +3 水流年lc 2026-02-28 3/150 2026-03-01 16:01 by 新能源达人
[考研] 311求调剂 +6 亭亭亭01 2026-03-01 6/300 2026-03-01 15:41 by 324616
[考研] 307求调剂 +5 wyyyqx 2026-03-01 5/250 2026-03-01 15:21 by Fff-1
[考研] 材料工程274求调剂 +3 Lilithan 2026-03-01 3/150 2026-03-01 14:58 by ms629
[考研] 303求调剂 +4 今夏不夏 2026-03-01 4/200 2026-03-01 14:46 by 嘟嘟小浣熊
[考研] 课题组接收材料类调剂研究生 +3 gaoxiaoniuma 2026-02-28 4/200 2026-03-01 14:30 by jjj三跨
[考研] 298求调剂 +9 人间唯你是清欢 2026-02-28 12/600 2026-03-01 14:23 by Ducount.Y
[考研] 291分工科求调剂 +8 science饿饿 2026-03-01 9/450 2026-03-01 14:22 by Ducount.Y
[考研] 284求调剂 +6 天下熯 2026-02-28 6/300 2026-03-01 14:19 by Ducount.Y
[考研] 材料学调剂 +8 提神豆沙包 2026-02-28 10/500 2026-03-01 14:14 by peike
[考研] 306分材料调剂 +3 chuanzhu川烛 2026-03-01 4/200 2026-03-01 12:32 by houyaoxu
[考研] 298求调剂 +5 axyz3 2026-02-28 5/250 2026-03-01 06:45 by 刘兵
[考研] 272求调剂 +4 田智友 2026-02-28 4/200 2026-03-01 06:43 by 刘兵
[考研] 304求调剂 +3 52hz~~ 2026-02-28 5/250 2026-03-01 00:00 by 52hz~~
[考研] 264求调剂 +3 巴拉巴拉根556 2026-02-28 3/150 2026-02-28 21:31 by gaoxiaoniuma
[考研] 0856材料求调剂 +10 hyf hyf hyf 2026-02-28 11/550 2026-02-28 18:50 by 无际的草原
信息提示
请填处理意见