如何使Chrome打开外部链接的新窗口


10

可能有人知道,谷歌浏览器的外部链接的默认行为非常糟糕。我正在使用Spaces,并且在Google Chrome之外的某些应用程序中打开链接,而在与上次使用的Chrome窗口不同的Space上,导致Chrome切换到了最后一个焦点窗口。

这种行为是不好的。

我想改变这种行为。在Windows上,这是可能的:如何配置Chrome在新窗口而不是选项卡中打开新的浏览器实例?

可悲的是,我认为这在OS X Snow Leopard上是不可能的。

我已经在使用一个名为RCDefaultApps的工具。这是一个系统控制面板,我可以在其中指定不同协议的默认应用程序。它只是缺少为默认应用程序指定其他命令行参数的功能。

有人可以帮我吗?除创建自定义的Chromium版本外,其他所有骇客都是可以接受的。

Answers:


9

您可以尝试使用此页面上的AppleScript 。

我刚刚尝试了一下,它在Chrome 12.0.742.122中运行正常。

设置非常简单:

  • 下载捆绑包档案
  • 双击解压缩
  • 双击 OpenUrlInNewChromeWindow
  • 打开Safari,然后在“偏好设置”中将新的“浏览器”设置为默认浏览器。

新的默认浏览器


这似乎在打开窗口之前引入了一个(很短的)延迟,但这正是我要寻找的。谢谢!
jsadfeew

这个小程序很好用。
尼尔森

3

从Dave的答案开始,我发现使用Chrome 45 osascript不再需要运行,而使用OS X 10.10则无法在系统偏好设置中选择Apple Script。这是我解决的方法。

使用Apple Script编辑器创建Apple Script,并将其导出为应用程序。

on open location theURL
   do shell script "/usr/bin/open '/Applications/Google Chrome.app' --new --args --new-window " & theURL
end open location

安装RC默认应用

RCDefaultApp是Mac OS X 10.2或更高版本的首选项窗格,允许用户设置用于各种URL方案,文件扩展名,文件类型,MIME类型和统一类型标识符的默认应用程序

在系统偏好设置中,打开新的default-apps屏幕,转到URL选项卡,然后将导出的Apple脚本设置为httphttps的处理程序。


非常感谢。这是唯一对我有效的解决方案,多年来一直让我发疯。
路加·杜伯特

2

我也无法使其正常工作。

我试图做的是使用以下命令:

open Google\ Chrome.app/ --new --args new-window www.google.com

但这会打开一个新的Chrome,该Chrome立即关闭(如果Chrome已经打开)。我打算将上述命令包装在bash脚本中,然后让其具有参数(用于URL)。

但是由于上述命令无法正常工作,因此我仍在考虑这一点。到目前为止,我认为如果不对Chromium进行一些修改,这是“不可能的”,但是我可能会忽略某些事情。还早,我还没喝咖啡。;)


是的,我也尝试过。(使用“ google.com ”代替“ Google Chrome.app”)两个版本均不起作用。
jsadfeew

2

这适用于小牛:

open /Applications/Google\ Chrome.app --new --args --new-window https\://www.google.ca

其次是:

osascript -e 'activate application "Google Chrome"'

在sh,bash和zsh中测试。

由于某些原因,如果我尝试将它们放在同一行上,如下所示:

/usr/bin/open /Applications/Google\ Chrome.app --new --args --new-window www.google.ca; /usr/bin/osascript -e 'activate application "Google Chrome"'

...第二部分没有完成。我认为那是因为它离第一个命令太近了。所以试试这个:

/usr/bin/open /Applications/Google\ Chrome.app --new --args --new-window www.google.ca; sleep 1; /usr/bin/osascript -e 'activate application "Google Chrome"'

请注意,您不需要在末尾指定url的http://部分,但是如果这样做,则需要转义冒号(:)。

为了使该脚本成为默认浏览器,我创建了一个applescript并将其导出为应用程序,然后打开Safari首选项并将该应用程序设置为默认浏览器。这是Applescript代码:

on open location theURL
  do shell script "/Users/[myusername]/bin/openUrlInNewChromeWindow.sh " & theURL
end open location

用您的实际用户名替换[myusername]。


我之所以喜欢这种解决方案而不是mwidmann的解决方案,是因为该解决方案在打开URL后将关闭,而另一种似乎需要保持打开状态才能工作。这意味着OpenUrlInNewChromeWindow始终在正在运行的应用程序的CMD-Tab列表中,并且每次我打开URL时,我都不得不两次按Tab键才能返回到先前的应用程序。
戴夫2014年

我可以确认使用Michael Schmid的RCDefaultApp在OSX El Capitan(10.11.1)上也可以使用。
戴夫2015年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.