JavaScript系列之多个窗口共用一个状态栏

ZDNet软件频道 时间:2004-05-11 作者:Builder.com |  我要评论(1)
本文关键词:javatips
在一个窗口的状态栏中显示其它窗口中的链接的状态信息并非不可能之事。省掉一个子窗口的状态栏能够节省宝贵的屏幕空间。
本文译自Builder.com,未经许可请勿转载

在一个窗口的状态栏中显示其它窗口中的链接的状态信息并非不可能之事。省掉一个子窗口的状态栏能够节省宝贵的屏幕空间。把所有的状态提示显示在主浏览器的状态栏中能够产生一致的用户体验。不管你做什么,不要把它与状态提示的显示位置相提并论。

注意,当你把光标放在位置 x、y 和 z 图片上时,提示信息会显示在主浏览器窗口的状态栏中。而且,消息字符串以及相关的显示函数都放在用来打开新窗口的主窗口中:

var prompt = new Array('X','Y','Z');

function msgStat(prompt) {
  window.status = 'Status for faux link ' + prompt + ' !';
}

function eraser() {
  window.status = '';
}

onMouseOver 和 onMouseOut 事件处理器调用这个函数。例如,这是模拟链接 z 的代码:

<a href="javascript:void(0)" onMouseOver="opener.msgStat(opener.prompt[2]); return true" onMouseOut="opener.eraser(); return true"><img src="Images/z.jpg" border="0"></a>

状态提示函数(msgStat() 和 eraser())在子窗口通过 opener 访问。在 msgStat() 中,链接相关的变量(prompt)作为一个参数传递给该函数。因为变量 prompt 是一个字符串数组(("X"、"Y" 和 "Z"),所以必须用 [] 操作符来访问数组元素。注意在我们的例子 prompt[2] 也是通过 opener 访问的。

要记住的一点是,如果你的站点设计破坏窗口对象的层次连接,那么指向主浏览器 HTML 文件中的变量的状态栏提示就无法工作。


本文作者:Brent Lee Metcalfe 是一位 Web 架构顾问。


责任编辑:李宁

欢迎评论投稿

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134