我的目标是从一台计算机启动后自动在多台显示器上全屏显示不同的网页内容。我想使用的浏览器是 Chrome。如果 Chrome 不支持此功能而 Firefox 可以,那就没问题了。
我更喜欢的操作系统是 Windows,如果 Linux 可用的话,那就更好了。
在 Windows 上,可以设置 Chrome 浏览器窗口的位置 (--window-position=) 并使 Chrome 以全屏模式启动 (--kiosk)。结合使用这些选项,您可以在连接到计算机的任何桌面/屏幕上全屏启动 Chrome。我已经设法让它工作了。
但是,如果我再次尝试执行同样的事情,让 Chrome 在第二个屏幕上全屏显示,则第二个 Chrome 窗口将在第一个窗口上打开,无论我使用什么坐标作为 --window-position 参数。
我尝试使用 Chrome 配置文件并复制 Chrome 目录并启动第二个 chrome.exe。所有这些操作都会导致相同的行为。
答案1
我决定基于 WinApi 调用创建自己的 powershell 脚本:
- 您可以在 GitHub 上下载解决方案: Tomin.工具.KioskMode.zip
- 使用步骤 -GitHub 项目主页或者
- 完整描述可作为 WordPress 博客文章:https://alextomin.wordpress.com/2015/04/10/kiosk-mode-in-windows-chrome-on-multiple-displays/
不久
脚本执行以下操作:
- 通过脚本启动 Chrome 实例
- 现在使用 WinApi 找到已启动的窗口并将其移动到所需的屏幕
- 将 F11 键发送到移动的窗口以使其全屏显示(我们可以在全屏模式下启动 chrome,但在该模式下移动窗口并不那么简单)
- 对其他实例执行相同操作,指定必要的 URL。
我的最终脚本(函数定义隐藏在 Dll 和另一个辅助脚本中)如下所示:
$chromePath = 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
$chromeArguments = '--new-window --incognito'
# &taskkill /im chrome* /F
Chrome-Kiosk 'http://google.com' -MonitorNum 1
Chrome-Kiosk 'http://http://www.bbc.com/' -MonitorNum 2
答案2
我已经设法通过不同的用户配置文件解决了这个问题。
首次设置时,您需要启动 Chrome,无需使用信息亭模式,并使用随机用户数据目录。(这不一定存在,Chrome 会创建它。)
chrome.exe --user-data-dir="%userprofile%/AppData/Local/Google/Chrome/User Data/monitor1" "http://example.com/monitor1.html"
然后将其移动到正确的显示器并再次关闭 Chrome。(位置保存在用户配置文件中。)
然后只需使用 kisok 模式在自动启动中启动它:
chrome.exe --user-data-dir="%userprofile%/AppData/Local/Google/Chrome/User Data/monitor1" --kiosk "http://example.com/monitor1.html"
对其余监视器执行相同操作。每个具有不同用户目录的 Chrome 都是完全独立的。(我还使用此功能在 Chrome 上并排运行单独的代理设置。)
答案3
我能够在三个屏幕上启动三个全屏浏览器的方法是执行以下操作:
- 安装 Google Chrome、Chromium 和 Google Chrome Canary 版本。这三个版本的 Chrome/Chromium 浏览器可以并排安装(在 Windows 上)。
--window-position=
使用命令行选项在不同的屏幕上启动每个浏览器- 使用
--kiosk
命令行选项使它们全屏显示
这不是一个很好的解决方案,因为您最多只能在三个浏览器实例中使用它,但它确实有效。
附加提示:通过添加以下附加命令行选项,浏览器将不会显示横幅和不需要的页面;
--chrome-frame --disable-first-run-ui --no-default-browser-check --disable-translate
答案4
这对我来说使用两个显示器很有效:
start C:\Users\terminal\AppData\Local\Google\Chrome\Application\chrome.exe --app="http://www.domain1.com" --window-position=0,0 --kiosk --user-data-dir=c:/monitor1
start C:\Users\terminal\AppData\Local\Google\Chrome\Application\chrome.exe --app="http://www.domain2.com" --window-position=1680,0 --kiosk --user-data-dir=c:/monitor2
我认为参数的顺序是相关的。