由控制浏览器窗口的打开和关闭

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
---- 看了9月13日的《计算机世界》上黄震先生的“用VBScript语言控制浏览器窗口的 打开”一文,受益匪浅。只是在一般情况下, 打开一个新的IE窗口之后,剩下工作,都由浏览者本人去控制它的 关闭或浏览到一新的URL去;但有时候,就需要WEB发布者自己来管理控制新建IE窗口了,如下例的为某网页提供在线帮助窗口功能。  

---- 让我们先来看一看:微软的IE对象模型 

---- 微软的IE(Internet Explore)浏览器使用扩展的对象模型(如下图),其对象的顶层是Window对象,即你所在的浏览器窗口,它还包含其它一些对象(如不图)。你在IE窗口中所看到的一切,都可利用脚本语言(JavaScript、VBScript等),通过直接对Window对象的编程来访问。在这里,主要说说其顶层的Window对象的属性、方法和事件(仅列举部分)。 

---- 属性 

---- Window对象主要有以下属性: 

---- 1. Name:如果已定义了当前窗口,则返回窗口的名称。 

---- 2. Parent:返回当前窗口的父窗口Window对象。 

---- 3. Opener:返回 打开当前窗口的Window对象。 

---- 4. Location:返回当前窗口的URL。 

---- 方法 

---- 1. Open:创建一新的Window对象(IE浏览器例程),并返回指向新例程的指针。 

---- 2. Close: 关闭窗口对象。 

---- 3. Alert:显示只含有OK按钮的警告消息框。 

---- 4. Navigate:将Window对象指向新的URL。 

---- 5. Focus: 将Window对象设置为当前窗口。 

---- 事件 

---- 1. Onload:当窗口内所有的内容被处理后触发。 

---- 2. Onunload:当窗口的内容被卸出时触发。 

---- IE窗口对象管理的( 打开关闭)设计思想在对 打开的IE窗口进行管理时,关键问题是父窗口与子窗口之间的消息传递。对父窗口来说,通过Open方法创建一IE子窗口(Window对象)后,可用返回指向新例程的指针来对子窗口进行控制访问;对子窗口来说,可用Opener属性返回的父窗口的Window对象指针,来对父窗口进行控制访问。 

---- 例程: 

---- 以下是作JavaScript脚本语言实现的对IE窗口简单的管理功能:为网页提供在线帮助窗口,它也可很容易地用VBScript来实现。整个实现的原理,请参照下面的说明。 

---- 与主窗口相关的HTML文件:JMain.htm(保存文件时,要删除说明) 

< html >
< head >< script LANGUAGE="JavaScript" 
FOR="window" EVENT="onunload()" >
< !--
while(x)  x.close();
说明:在父窗口 关闭时,也应 关闭帮助子窗口。
注意:为什么不用下面的语句:
if(x){
x.close();
x=null;
}

---- 因为:父窗口在执行x.close()后,不管子窗口是否已彻底 关闭,自己就继续执行直至 关闭;而子窗口在 关闭时,要通知父窗口,那么在此时,父窗口可能早已 关闭,这时就会出现错误的。 
//-- >
< /script >
< title >自由控制IE窗口的 打开关闭< /title >
< meta http-equiv="Content-Type" content=
"text/html; charset=gb2132" >
说明:设置网页的语言为简体中文。
< meta name="GENERATOR" content=
"Microsoft FrontPage 3.0" >
< script LANGUAGE="javascript" >
< !--
var x=null;
 说明:定义全局子窗口指针变量
function open_onclick(){

---- 说明: 打开帮助按钮的onclick事件调用。如果没有子窗口对象,则新建子窗口,并返回指针;如果已有子窗口对象,则把其设置为当前窗口。 
if(!x)
       x =window.open("JHelp.htm","helpwindow",
"width=320,height=65");
else
      x.focus();
}
function close_onclick(){
说明: 关闭帮助按钮的onclick事件调用。
如果有子窗口对象,则 关闭子窗口
if(x){
x.close();
x =null;
}
}
function sethelp(helptext){

---- 说明:此网页中两个按钮对象和一个链接对象的onmouseover、onmouseout事件调用 
var hstring;
if (x) {
x.focus();
if(helptext=="open") hstring =
"用鼠标点击,则 打开在线帮助窗口!";
else if (helptext=="close") hstring =
"用鼠标点击,则 关闭在线帮助窗口!";
else if (helptext=="ustc") hstring =
"用鼠标点击,则到中国科技大学主页!";
else hstring ="";

if(x.HelpText) x.HelpText.value=hstring;

---- 说明:通过变量指针设置帮助子窗口HelpText对象的值(Value属性)。 
}
}
-- >
< /script >
< /head >
< body >
< p >自由控制IE窗口的 打开关闭< /p >
< p >< input TYPE="button" VALUE=" 打开帮助
" ONCLICK="open_onclick()" 
οnmοuseοver="sethelp('open')" οnmοuseοut=
"sethelp(')" > < /p >
< p >< input TYPE="button" VALUE=" 关闭帮助
" ONCLICK="close_onclick()" 
οnmοuseοver="sethelp('close')" οnmοuseοut=
"sethelp(')" > < /p >
< p >< a href="http://www.ustc.edu.cn" 
οnmοuseοver="sethelp('ustc')" target="_blank"
 οnmοuseοut="sethelp(')" >中国科技大学< /a >< /p >< /body >
< /html >

? 与子窗口相关的HTML文件:JHelp.htm
(保存文件时,要删除说明)
< html >
< meta http-equiv="Content-Type" content=
"text/html; charset=gb2132" >
< head >< script LANGUAGE="JavaScript" FOR=
"window" EVENT="onunload()" >
< !--
if ( parent.opener)
 parent.opener. close_onclick ();
说明:浏览用户 关闭子窗口时,通知父窗口;
parent.opener返回父窗口指针。
-- >
    < /script >
< title >在线帮助< /title >
< meta name="GENERATOR" content="Microsoft FrontPage 3.0" >
< /head >
< body bgcolor="#E4D9F7" >
< h3 >< p align="center" >< font color="#ff2222" >
在线帮助:< /font >< /p >< /h1 >
< p >< /p >
< p align="center" >< input type="text" name=
"HelpText" size="40" >< /p >
说明:HelpText对象的值(Value属性)
由其父窗口通过变量指针设置。
< /body >< /html >

---- 注: 在这里,仅提供了对IE窗口 打开关闭的思路和方法,希望能对大家的WWW编程起到抛砖引玉的作用,另IE所有对象的属性、方法、事件及一些相关参数的引用,请参阅相关的书籍及网友的一些文章。 
---- 在NT4.0 WorkStation及Win98的PWS上运行正常。 
<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值