在 Web 应用程序中对分离的面板使用实际的浏览器窗口是否可行

Is it viable to use actual browser windows for detached panels in a web application?

本文关键字:浏览器 窗口 是否 应用程序 Web 分离      更新时间:2023-09-26

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

但我不确定它会有多好。几点:

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

总而言之,额外屏幕空间的优点会超过使用浏览器窗口的缺点吗?

不要使用弹出窗口。它们通常会被阻止。给用户一个链接并要求他们(好像给出指令(右键单击并在新窗口中打开要容易得多,而不是做一个弹出窗口并要求用户手动取消阻止它。(即使这样也是不好的做法。

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

应该不会。

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

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

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

很糟糕,尤其是弹出窗口阻止程序,尽管如果您的用户只使用一个浏览器,它可能会起作用。

总而言之,额外屏幕空间的优点会超过使用浏览器窗口的缺点吗?

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

的大小。

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

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

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

您可以在线找到许多其他解决方案,这些解决方案无需其他库即可使用或与其他库一起使用。

您可以随心所欲地拥有,并且几乎可以在另一个窗口中执行任何操作,优点是处理对话框和主页之间的通信将更容易使用弹出窗口。