我正在寻找AppJS作为构建跨浏览器应用程序的可能选择。 AppJS通过Chromium窗口运行HTML5内容,该窗口带有到NodeJS的钩子。
是否有一个NodeJS模块可以给我一个当前活动显示的枚举?我需要支持双显示器设置,并且知道每个显示器的界限是必需的。
到目前为止,我搜索Node npm目录的过程并不顺利。
更新:
基于sihorton的答案,我正在使用JavaScript方法。浏览器安全性禁止我的第一种方法在正常的Chrome上运行,但是到家后,我将在AppJS Chrome上尝试该方法。代码here和here。
基本方法是运行如下代码:
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获取显示属性,然后将其插入并从那里开始。