我正在尝试找到一个shell命令,它会打开具有特定x和y坐标的Google Chrome(这样我可以在打开时设置窗口的位置。)是否可以使用命令行参数执行此操作?
我需要修改以下命令才能实现此目的:
google-chrome http://www.google.com/
答案 0 :(得分:29)
当您使用Google的Chrome时,有一种更短的方式:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
--profile-directory="Default"
--app="data:text/html,<html><body><script>window.moveTo(580,240);window.resizeTo(800,600);window.location='http://www.test.de';</script></body></html>"
临:
缺点:
答案 1 :(得分:18)
http://peter.sh/experiments/chromium-command-line-switches/说--window-position = x,y就是你要找的东西。
稍后更新以包含我多年前写过的一个小shell脚本(但在回答这个问题之后),它提供了一个如何使用自定义窗口大小/位置启动chrome的示例,并且能够创建“假的”用户数据目录按名称。
它可能或者可能不起作用,并且设置了一些危险的选项,但是你明白了。不要逐字逐句使用,一些标志可能已被重命名或被完全删除..(如socks代理命令确实)
#!/bin/bash -x
FAKEUSER="${1:-fake-chrome-user}"
CHROMEROOT=$HOME/.chromeroot/
mkdir -p ${CHROMEROOT}
export PROFILE="${CHROMEROOT}/${FAKEUSER}-chromium-profile"
export DISK_CACHEDIR="${CHROMEROOT}/${FAKEUSER}-chromium-profile-cache"
export DISK_CACHESIZE=4096
export MEDIA_CACHESIZE=4096
PARANOID_OPTIONS="\
--no-displaying-insecure-content \
--no-referrers \
--disable-zero-suggest \
--disable-sync \
--cipher-suite-blacklist=0x0004,0x0005,0xc011,0xc007 \
--enable-sandbox-logging >/dev/null 2>&1
"
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
--remember-cert-error-decisions \
--ignore-certificate-errors \
--ignore-urlfetcher-cert-requests \
--allow-running-insecure-content \
--window-position=2400,400 \
--window-size=1500,1000 \
--no-pings \
--user-data-dir=${PROFILE} \
--disk-cache-dir=${DISK_CACHEDIR} \
--disk-cache-size=${DISK_CACHESIZE} \
--media-cache-size=${MEDIA_CACHESIZE} \
2>&1
#--proxy-server="socks4://localhost:30604" \
#--host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE localhost" \
答案 2 :(得分:18)
要建立@ synthesizerpatel的答案,--window-position
将无法自行完成。
您需要使用--user-data-dir
或--chrome-frame
启动它作为自己的新实例,如:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=XXXXXXXXXX --window-size=800,600 --window-position=580,240 --app="http://www.google.com/"
or
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --chrome-frame --window-size=800,600 --window-position=580,240 --app="http://www.google.com/"
不幸的是,将它作为一个新实例意味着它不会从其他实例中继承session / cookie / etc信息,因此我必须正常打开它(只有--app
参数),然后在我打开的页面中有javascript:
window.moveTo(580,240);
window.resizeTo(800,600);
我想如果您打开其他人拥有的网页,您可以打开自己拥有上述js的网页,然后导航到他们的网页。
答案 3 :(得分:3)
我用过这个:
google-chrome "data:text/html;charset=ISO-8859-1,<html>
<head></head><body><script language=\"javascript\">
window.open('http://perso.f-hauri.ch/~felix/svg/dustin_w_Clock_autonom.svg',
'clock','toolbar=0,location=0,status=0,menubar=0,scrollbars=1,'
+'resizable=1,width=600,height=600,top=100,left=120');</script>"
但是 google-chrome 阻止弹出窗口,所以这个:
google-chrome "data:text/html;charset=ISO-8859-1,<html><head></head><body>
<button onclick=\"javascript:window.open(
'http://perso.f-hauri.ch/~felix/svg/dustin_w_Clock_autonom.svg',
'clock','toolbar=0,location=0,status=0,menubar=0,scrollbars=1,'
+'resizable=1,width=600,height=600,top=100,left=120');\"> clock </button>"
给出一个很好的方法来做到这一点。
Nota:这也适用于firefox。
答案 4 :(得分:1)
使用我最新版本的Chrome - 我只需要以下内容。每当我关闭应用程序时,它都会记住我的窗口大小和位置。
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --chrome-frame --app=https://mightytext.net/web8/?exp=1
这在版本48.0.2564.48 beta-m(64位)中对我有用 和版本48.0.2564.48 beta-m(64位)