我正在寻找AppJS作为构建跨浏览器应用程序的可能选择。 AppJS通过Chromium窗口运行HTML5内容,该窗口带有到NodeJS的钩子。

是否有一个NodeJS模块可以给我一个当前活动显示的枚举?我需要支持双显示器设置,并且知道每个显示器的界限是必需的。

到目前为止,我搜索Node npm目录的过程并不顺利。

更新:

基于sihorton的答案,我正在使用JavaScript方法。浏览器安全性禁止我的第一种方法在正常的Chrome上运行,但是到家后,我将在AppJS Chrome上尝试该方法。代码herehere

基本方法是运行如下代码:

OpenWindow('http://jsbin.com/axiwad/3/','test',400,500);


然后打开的窗口运行:

  window.moveTo(screen.width+2, 0);

  setTimeout(function(){
    $(".s2w").html(screen.width+2);
    $(".s2h").html(screen.height);
  }, 500);


当然,问题在于浏览器不允许在活动屏幕边界之外的moveTo。 AppJS铬叉是否允许这一点还有待观察。

最佳答案

如果您正在运行AppJS,则可以使用在AppJS的铬窗口部分中运行的javascript中的技巧进行屏幕检测。我快速谷歌搜索找到以下链接,我敢肯定还有其他的,如果你尝试了一下,那么希望你会得到一个跨平台的解决方案:

http://archive.cpradio.org/code/javascript/dual-monitors-and-windowopen/

如果要保留节点本机,另一种方法是实现一个通用的api,然后为每个平台在其后实现单独的代码。我个人目前还没有更好的解决方案,显然,这比上面的javascript解决方案更不受欢迎。但是,如果必须走这条路线,则存在节点边缘:

http://tjanczuk.github.io/edge

这使您可以从nodejs运行.net代码,因此您应该能够使用该api覆盖Windows计算机。对于linux,您可以考虑连接dbus:

https://github.com/sidorares/node-dbus
https://npmjs.org/package/dbus-native

希望您可以在Internet上找到合适的示例代码,以使用dbus和.net获取显示属性,然后将其插入并从那里开始。

10-08 07:39