【问题标题】:Opening a new browser page on the second monitor在第二台显示器上打开新的浏览器页面
【发布时间】:2009-08-18 13:20:13
【问题描述】:

嗯,简单的情况。是否可以检测用户是否从 Web 应用程序设置了双显示器? 如果可以的话,是否可以在第二台显示器上打开一个子浏览器页面,这样新窗口就不会与旧窗口重叠?

我问的原因:我正在开发一个 Web 应用程序,并且在家里我有一个双显示器系统。当我进入该站点的管理部分时,我希望它在新浏览器中打开,最好是在另一个桌面上打开。当然,我可以直接单击,然后拖动新窗口,但自动执行此操作似乎更有趣。 :-)

不要认为 JavaScript 有合适的功能。 Java 本身呢?

【问题讨论】:

  • 我不鼓励这样做。这是技术上意外的行为。如果你在我的另一台显示器上打开了某些东西,我会很生气 :) 我可能有重要的事情正在发生,我不想被另一个窗口覆盖。
  • 好吧,它是供个人使用的,所以使用它的用户不会因此而烦恼。 ;-)

标签: browser multiple-monitors


【解决方案1】:

我认为您无法直接检测到双显示器设置,但您可以通过使用 javascript 的 screen.width 和 screen.height 查看它们的屏幕分辨率来做出很好的猜测。如果宽高比为 8:3,则他们很有可能并排有 2 个标准 4:3 显示器。您可以对 16:9 或 16:10 进行类似的计算。

【讨论】:

  • 在使用 Chrome、Firefox、Safari、Opera 和 Internet Explorer 的 Windows 7 上,仅检测浏览器处于活动状态的监视器的尺寸,因此这不起作用。
  • 是否有机会检测第二个显示器的分辨率,以便使用 maxpower47 的想法?
【解决方案2】:

使用 maxpower47 关于分辨率的建议,在另一台显示器上显示页面的唯一方法是打开一个弹出窗口,并使用选项设置顶部、右侧、宽度和高度属性,以便窗口将出现在第二个显示器上尺寸合适的显示器。

这是一个描述如何执行此操作的链接:http://www.netmechanic.com/news/vol4/javascript_no7.htm

【讨论】:

  • 有人试过这个解决方案吗?是否可以在不同的浏览器上工作?
  • Firefox (v38) 只允许window.open() 在主监视器中打开一个新窗口,忽略超过监视器分辨率的topleft 设置。此外,随后对window.moveTo() 的调用不会将窗口重新定位到主监视器之外。
  • 因为前面提到的链接已经失效,这里是从 Wayback Machine 中截取的代码:window.open(<url>, 'nextWin', 'right=0, top=20, width=350, height=350, toolbar=yes, scrollbars=yes, resizable=yes')
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-16
  • 1970-01-01
  • 1970-01-01
  • 2012-11-12
相关资源
最近更新 更多