如何在不同的显示器中打开两个Chrome kiosk模式实例(Windows)

mul*_*axp 18 multiple-monitors google-chrome fullscreen kiosk-mode

我们正在开发一个Web应用程序,需要在不同的屏幕上打开两个不同的浏览器实例.显然我们使用的电脑已经具有双显示屏,两台显示器都具有相同的尺寸和分辨率.

我们的想法是,一旦Windows启动,两个应用程序应立即全屏打开,我们首选的浏览器是Chrome,因为它有几个命令可以帮助我们完成任务.

我们成功地向启动程序添加了两个在kiosk模式下打开两个实例的快捷方式,但是我们无法选择打开哪个显示.

快捷方式有这个目标:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=c:\temp --kiosk www.domain.com --new-window "%1" --window-position=0,0

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=c:\temp --kiosk www.domain2.com --new-window "%2" --window-position=1680,0
Run Code Online (Sandbox Code Playgroud)

为了打开两个实例,chromes需要创建一个临时文件,其中包含要打开的实例的信息 (--user-data-dir=c:\temp)

我们尝试使用(--window-position=1680,0)指定打开实例的位置,但Chrome似乎优先考虑最后一个实例打开的最后位置,因此无论命令如何,两个实例都在同一窗口打开.

我们在这个网站上找到了所有可用命令的列表,但列表很大,我们甚至不知道我们在寻找什么:

http://peter.sh/experiments/chromium-command-line-switches/

我找到了这个命令:--display=:0.0 | --display=:0.1 但它似乎没有用,或者我没有正确使用它

有任何想法吗?谢谢.

小智 13

这段代码对我来说很好:

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
Run Code Online (Sandbox Code Playgroud)

我认为参数的顺序是相关的.

  • 这对我有用,但是单独的数据目录确实意味着两个窗口不能共享cookie等,这可能会让人们感到痛苦(它们是两个单独的会话) (3认同)

小智 12

我也有同样的问题.这个答案:https://stackoverflow.com/a/3750187/1305565激发了我创建自己的PowerShell脚本以便于使用.

不久

脚本执行以下操作:

  1. 通过脚本启动Chrome实例
  2. 现在使用WinApi查找已启动的窗口并将其移动到所需的屏幕
  3. 将F11键发送到移动的窗口以使其全屏显示(我们可以在全屏模式下启动chrome,但在该模式下移动窗口并不是那么简单)
  4. 对其他实例执行相同操作,指定必要的URL.

最后的剧本

函数定义隐藏在Dll和另一个帮助程序脚本中.(使用上面的链接从GitHub下载它们)

$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 
Run Code Online (Sandbox Code Playgroud)


Gar*_*rey 6

最简单的方法是使用2个不同的数据目录.您可能希望也可能不想在启动之前删除首选项.如果这样做,您的脚本可以控制放置屏幕的位置.如果不这样做,那么可以手动定位它们,它将分别记住两个窗口的位置:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=c:/screen1 --start-fullscreen --new-window www.domain.com --new-window "%1" --window-position=0,0

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=c:/screen2 --start-fullscreen --new-window www.domain2.com --new-window "%2" --window-position=1680,0
Run Code Online (Sandbox Code Playgroud)

注意,我还使用了--start-fullscreen而不是kiosk,以及--new-window.您可能需要也可能不需要.


归档时间:

查看次数:

32921 次

最近记录:

6 年,8 月 前