2013-08-22 62 views
5

我有一个Web应用程序,我想实现以下行为。获取监视器计数

当你点击一个特定链接:

  • 如果用户有多个显示器 - 在一个给定名称的窗口中打开链接。

  • 否则 - 将iframe的src属性更改为url的属性。

如何检测JavaScript中的监视器计数?

如果不可能,Chrome专用的解决方案也可以工作,因为这是针对Intranet应用的。

+0

我怀疑你需要使它成为配置选项而不是派生它。无论如何,配置可能会更好,用户喜欢选择,并且不喜欢为他们做出的选择(除非这是Intranet应用程序的要求)。 – AD7six

+0

@ AD7six那么打开一个新窗口,然后用'moveTo'给它一个偏移量并检查'window.screenX'什么的? –

+0

为什么你想用新窗口发送给用户垃圾邮件,而不是将它作为用户的选择或配置选项来实现呢? – Spoike

回答

2

正如其他人所说,唯一明智的做法是向用户询问。提出这个建议之前已经提出并拒绝了。多监视器设置在普通人群中并不常见,这就是为什么忽视这一点。

的替代方案是:

  • 提示用户。
  • 要求用户运行浏览器扩展(不那么有趣,风险更大)。
  • 运行一个插件(也不是很有趣)。正常网站的唯一选择是提示用户 -
  • 通过类似WebkitJS

全面的服务支持您的应用程序。

0

这对于Javascript来说目前无法实现,您可以尝试通过计算屏幕高度和宽度来进行猜测。

例如,如果屏幕widthheight * 1.78宽,那么这意味着它比16:9纵横比更大,那么它们可能使用双屏幕。

那么window.innerWidth会比screen.width更好吗?

除此之外,这是不可能的。

+1

这是不正确的屏幕的意思 - 屏幕尺寸(不是桌面的大小,除非这是一个特定的图形卡的工作原理) – AD7six

+0

'screen.width'总是返回当前显示器的分辨率.. –

+0

那么, window.innerWidth'比'screen.width'好? – iConnor