我正在将AppJS视为构建跨浏览器应用程序的可能候选者。 AppJS使用带有NodeJS钩子的Chromium窗口运行HTML5内容。
是否有一个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铬叉是否允许这样做还有待观察。
答案 0 :(得分:1)
如果你正在运行AppJS,那么你可以使用在AppJS的chrome窗口部分运行的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
希望您可以在互联网上找到合适的示例代码,以便使用dbus和.net获取显示属性,然后将其插入并从那里开始。