2009-08-18 441 views
6

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

我之所以问:我正在开发一个Web应用程序,而且在家里我有一个双显示器系统。当我转到本网站的管理部分时,我希望它在新浏览器中打开,最好在其他桌面上打开。当然,我可以点击,然后拖动新窗口,但这样做自动显得更有趣。 :-)

不要以为JavaScript有适当的功能。 Java本身如何?

+2

我不会鼓励这一点。这在技术上是不可预料的行为。如果你在我的另一台显示器上打开某些东西,它会让我烦恼:)我可能会在那边发生很多重要的事情,我不想用另一个窗口覆盖。 – Sampson 2009-08-18 13:26:44

+4

嗯,这是个人使用,所以一个用户将使用它不会被它恼怒。 ;-) – 2009-08-18 13:46:27

回答

3

我不认为你能够直接检测双显示器设置,但你可以通过查看他们的屏幕分辨率,使用javascript的screen.width和screen.height做出一个很好的猜测。如果宽度与高度的比率为8:3,那么他们很有可能并排使用2台标准4:3显示器。你可以在16:9或16:10做类似的计算。

+8

在使用Chrome,Firefox,Safari,Opera和Internet Explorer的Windows 7上,仅检测到浏览器处于活动状态的显示器的尺寸,因此不起作用。 – Marcel 2011-03-28 09:40:37

+0

任何机会也检测第二个显示器的分辨率,以便使用maxpower47的想法? – 2014-12-16 09:54:04

1

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

这里是描述如何做到这一点的链接:http://www.netmechanic.com/news/vol4/javascript_no7.htm

+0

有没有人试过这个解决方案?它是否知道在不同的浏览器上工作? – 2013-01-16 14:56:45

+0

Firefox(v38)只允许'window.open()'在主显示器中打开一个新窗口,忽略超过显示器分辨率的'top'和'left'设置。此外,后续调用'window.moveTo()'不会重新定位主监视器外部的窗口。 – 2015-06-24 15:30:35

+0

由于前面提到的链接是死的,下面是从Wayback Machine获取的代码:window.open(,'nextWin','right = 0,top = 20,width = 350,height = 350,toolbar = yes, scrollbars = yes,resizable = yes')'。 – PomCompot 2017-05-04 09:28:36

相关问题