1

我正在计划一个应用程序,我想知道是否可以将实际窗口 ( window.open) 用于弹出式面板,以替代使用使用绝对定位元素制作的“虚拟”类型的窗口。这将具有可从浏览器窗口分离的优点,以便用户可以利用多个监视器提供的额外屏幕空间。

但我不确定它的效果如何。几点:

  • 是否可以将打开的窗口保留在主应用程序窗口的顶部,以便分离的面板不会消失在应用程序本身的后面
  • 是否可以从同一个应用程序打开多个窗口,或者自动浏览器安全性可能会将您限制为一个?
  • 与无数浏览器替代品的兼容性如何?

总而言之,额外屏幕空间的优势是否会超过使用浏览器窗口的劣势?

4

2 回答 2

2

不要使用弹出窗口。他们通常会被阻止。给用户一个链接并要求他们(就像给出说明一样)右键单击并在新窗口中打开要比弹出一个弹出窗口并要求用户手动取消阻止要容易得多。(即使那是不好的做法。)

是否可以将打开的窗口保留在主应用程序窗口的顶部,以便分离的面板不会消失在应用程序本身后面可能不会

可能不是。

是否可以从同一个应用程序打开多个窗口,或者自动浏览器安全性可能会将您限制为一个?

window.open('http://www.google.com', 'win1'),window.open('http://www.google.com', 'win2')

与无数浏览器替代品的兼容性如何?

太糟糕了,尤其是使用弹出窗口拦截器,尽管如果您的用户只使用一个浏览器,它可能会起作用。

总而言之,额外屏幕空间的优势是否会超过使用浏览器窗口的劣势?

我不认为这是对上一个问题的总结。多显示器似乎是一个有用但很少见的用例。我不知道需要多个显示器的网站。如果您正在制作某种“监视器”(如安全监视器类型)或信息显示类型的软件,这可能是值得的,但其他网站只使用 1 个窗口,可以根据用户的需要大小.

也就是说,可以使用弹出窗口。例如,Gmail 使用它们来创建聊天窗口,您可以稍后“弹回”。然而,它不是必需的功能,而且不止一个功能很快就会变得笨拙。

于 2012-04-26T11:32:55.253 回答
1

我强烈建议您避免使用 window.open,因为许多浏览器和插件会阻止它们。您需要的是对话框。有关 jQuery UI 的示例,请参见以下链接。

http://jqueryui.com/demos/dialog/

您可以在线找到许多其他解决方案,它们可以在没有其他库的情况下使用或与其他库一起使用。

您可以随心所欲地拥有任何东西,并且几乎可以在另一个窗口中做任何您想做的事情,其优点是可以更轻松地处理对话框和将使用弹出窗口的主页之间的通信。

于 2012-04-26T11:28:35.223 回答