如何将旧弹出窗口置于前台而不是打开新弹出窗口?

时间:2011-11-21 22:00:24

标签: javascript popup user-experience

我正在考虑在弹出 1 中打开我的应用程序的帮助页面。我的问题是如果用户再点击一次“帮助”按钮,我就不想打开多个弹出窗口。

可能,以跨浏览器的方式,重复使用旧的弹出窗口而不是打开新的窗口吗?。我希望我能把它带回前景 2 或类似的东西。

在最糟糕的情况下,我想我可以回到基于div的Javascript对话框,但如果可能,我宁愿避免这样做。


1 大多数普通桌面应用程序都使用弹出窗口作为帮助对话框,所以我认为这个选择没有任何问题。

此外,我认为在我的情况下,从实际角度来看,帮助页面的正常链接不是最理想的(我不希望人们在我的单页应用中导航太多)和技术方面(帮助页面)内容是通过Javascript创建的,使用popups + document.write对我来说更灵活)

2 与Windows桌面应用程序的一些比较:如果您尝试再次打开它,Windows资源管理器和IE将重新聚焦旧的帮助窗口。 Office应用程序始终位于帮助窗口的顶部。 Firefow和Chrome只需打开一个新的浏览器标签(如果再试一次,可以打开多个标签)

2 个答案:

答案 0 :(得分:3)

我通常只使用focus()

 function help_open(id) {
 newwindow = window.open('help.php?id=' + id, 'popup_return',     'menubar=no,history=no,resizable=yes,scrollbars=yes,toolbar=no,width=800,height=600');
if (window.focus) {newwindow.focus()}
   }

答案 1 :(得分:0)

<a href="something" target="yourname">

虽然你的名字相同,但是同一个窗口将会聚焦