在一个窗口的状态栏中显示其它窗口中的链接的状态信息并非不可能之事。省掉一个子窗口的状态栏能够节省宝贵的屏幕空间。把所有的状态提示显示在主浏览器的状态栏中能够产生一致的用户体验。不管你做什么,不要把它与状态提示的显示位置相提并论。
注意,当你把光标放在位置 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 文件中的变量的状态栏提示就无法工作。