首先,我非常清楚webapps不应该摆弄窗口大小或位置。经历了很多类似的SO问题和论坛帖子。
但这是一种特殊情况,浏览器只是在受控环境中的几台特定机器上运行应用程序的平台。
该应用应管理多个显示器的窗口。 (最多5个)
window.screen
对象仅报告窗口当前所在的显示属性(或被视为打开,如果它位于一半)< / LI>
window.moveTo
尝试window.open
和"left=123,top=123"
,但它们始终仅限于当前显示window.resize
尝试window.open
和"height=123,width=123"
,但与moveTo
一样,它们仅限于当前显示。 如何在多显示器环境中使用我的应用程序(没有手动窗口定位)所有可用空间?
想想看,我有两台投影机正确对齐,并希望能够实现:
可能/应该有一个运行主窗口布局逻辑的窗口
我可以再次使用任何flags
,app
或kiosk
模式:我们将应用部署到目标环境。
浏览器选项是Windows平台上的Chrome(首选),Chromium和Firefox(因为我们将在5个显示器上使用特殊显卡)。
在可用的显示内手动拉伸窗口,并在此主iframe
内的window
s内运行应用。
缺点:单个进程正在运行所有内容,因此如果应用程序在框架内中断,则会破坏所有内容。
此问题的解决方案也是一个很好的帮助:Windows / Chrome / ATI / Browser fullscreen across multiple monitors
答案 0 :(得分:3)
使用chrome / firefox扩展,可以访问特定于窗口/选项卡的API。 要么将整个应用程序嵌入到扩展中,要么通过消息与扩展程序通信(chrome,firefox上有一个等价物)。
Chrome中的Support是 experimental 。
答案 1 :(得分:1)
如果在Internet选项/安全性/自定义下检查权限“允许脚本启动的窗口没有大小或位置限制”,则可以使用window.moveTo(-1000,100)将弹出窗口移动到IE中的第二个监视器水平。
如果您只连接了一台显示器,它会将窗口移动到主显示器的边缘。我在Chrome中找不到办法,但似乎没有相同的安全选项。
答案 2 :(得分:1)
尝试使用chrome.windows API与浏览器窗口进行交互。您可以使用此API在浏览器中创建,修改和重新排列窗口。
https://developer.chrome.com/extensions/windows
它甚至适用于夜视仪。
答案 3 :(得分:0)
我不认为这是可能的。 出于安全原因,浏览器确实限制了JavaScript的权限。 也许你可以手动(当然是在JavaScript中)将x和y位置设置在远离屏幕的位置,以便它出现在另一个屏幕上,但这不是一种巧妙的方式。
据我所知,您有两种选择:
据我所知,这是浏览器中唯一可以使用不同窗口的方法。
答案 4 :(得分:0)
另一种可能的解决方案是使用win32来调整尺寸和尺寸。定位窗口。
如问题解决方案中所示:Chrome Packaged App and Dual Monitors(此处没有代码,仅供参考)