强制Chrome在新窗口(而不是标签页)中打开新页面?(从程序打开时)


45

每当我单击诸如Outlook之类的链接或程序打开网页时(而不是单击chrome中的链接时)。由于它是我的默认浏览器,因此会在Chrome中打开,但是如果我已经打开了一个页面,它将在该窗口的新标签页中打开。我无法告诉您多少次我忘记了这一点并关闭了窗口,也意外丢失了另一个标签。当然,我可以打开一个新的chrome窗口,并在最近关闭的选项卡下找到它,但是我真的更希望它们在自己的窗口中打开,这样我就可以避免这种情况。

Answers:


28

问题

对于Linux,如果您有多个VNC服务器,则会发生相同的问题。
那是,

$ google-chrome
Created new window in existing browser session

而且在当前的X VNC会话中不会出现google chrome窗口(带有第一个google-chrome实例的新标签将在X会话中出现)。

一个简单的解决方法是运行

$ google-chrome "--user-data-dir=${HOME}/.google-chrome/session${DISPLAY}"

这将根据使用中的X VNC实例设置唯一的用户目录。用户目录将根据需要创建。新google-chrome过程将显示在当前X VNC会话中。

在Ubuntu 12.04上使用Google Chrome 22版进行了测试。


6
这是互联网上最重要的文本内容之一。我向你们致敬。
乔纳森·费恩伯格

2
google-chrome --new-window为我做了。
Nikana Reklawyks

谢谢@NikanaReklawyks。看起来好像--new-window是2013年的原始资料,所以我可能错过了。很久以前了。
JamesThomasMoon1979

13

似乎没有一个用户友好的选项可以在Chrome中更改此设置(可能是因为大多数人都喜欢新标签页)。

但是,您可以通过编辑Windows注册表中用于打开http URL的命令来手动更改此设置。

为此,请打开regedit并执行以下操作:

  1. HKEY_CLASSES_ROOT\http\shell\open\command
  2. 您应该看到一个名为的键(Default)。双击此按钮可弹出编辑窗口。
  3. 在该Value data:字段的结尾,您应该看到文本-- "%1"。将此更改为--new-window "%1"

这将指示Windows在Chrome的新窗口(而不是新标签页)中打开所有http链接。

大概,对于Mac和Linux来说,同样的想法是正确的,但是我不知道它们在哪里存储了打开URL的命令。


当我双击默认值时,弹出窗口中有一个名为“值数据”的字段,该字段为空。我应该只添加--new-window还是--new-window“%1”?如果有问题,我还将使用Win7。
JD Isaacks 2010年

1
请注意,如果您在注册表中搜索任何其他包含“ chrome.exe”的项,并找到一个包含“-%1”的值,则添加我的更改应该可以。
塞林

3
有什么好的方法可以防止Chrome在每次更新时都覆盖这些更改?(发生频率相对较高。)
Qtax

3
请注意,在Windows 10中,它略有不同。 这个答案告诉我们默认浏览器是从这里指向的:HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Shell\Associations\URLAssociations\(http|https)\UserChoice 因此,对于Chrome,它说:ProdId=ChromeHTML 从那里可以找到ChromeHTML:HKEY_CLASSES_ROOT\ChromeHTML 在这里,您可以找到shell / open / command,因此完整路径为:HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command
Trinition

1
要应用@Trinition的解决方案而不通过注册表编辑器,您可以将以下内容存储为'WebLinks.reg'并执行。请验证文件是否包含正确的Chrome安装目录。另外,在之间添加一些换行符;) Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command] @="\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\" --new-window \"%1\""
Igor Akkerman

9

Mike Hardy发布了适用于Mac OS X 的解决方案。我在10.7 Lion中使用了该解决方案,并且工作正常。

该解决方案涉及一个小的AppleScript应用程序:

on open location theURL
    tell application "/Applications/Google Chrome.app"
        make new window
        activate
        set URL of active tab of first window to theURL
    end tell
end open location

将此应用设置为默认浏览器将导致外部程序链接在Chrome的新窗口中打开。


我应该如何/在哪里将这个AppleScript应用程序保存在10.9.5 Mavericks中?我在[我的用户] /库/应用程序脚本中将以上内容保存为“应用程序”,但在Safari的默认浏览器首选项下,它没有显示为浏览器。另外,我从Mike Hardy的解决方案中下载了applescript捆绑包,并将其压缩到同一文件夹中。这将脚本添加到浏览器列表中,我选择了该脚本,但是当我单击来自外部应用程序的链接时,该链接未打开。
Mike Eng

7

如果有任何Linux用户想知道同一件事,我可以通过复制/usr/share/applications/chromium.desktop~/.local/share/applications,然后按如下所示进行编辑来做到这一点:

--- /usr/share/applications/chromium.desktop    2012-08-10 17:02:01.000000000 +0100
+++ /home/sam/.local/share/applications/chromium.desktop    2012-08-23  10:33:21.987359591 +0100
@@ -128,7 +128,7 @@
 Comment[zh_CN]=访问互联网
 Comment[zh_HK]=連線到網際網路
 Comment[zh_TW]=連線到網際網路
-Exec=/usr/bin/chromium %U
+Exec=/usr/bin/chromium --new-window %U
 Terminal=false
 X-MultipleArgs=false
 Type=Application

如果您使用的是Debian chromium软件包,并且不介意将此设置为系统上所有用户的默认设置,则可以编辑/etc/chromium/default并添加--new-windowCHROMIUM_FLAGS变量中。


谢谢-当我单击Chrome启动器时,我非常讨厌切换到另一个桌面!我只是补充说--new-window,如果您只是想更改启动器图标的行为,则只需编辑启动器图标的属性以添加到选项中即可。为什么没有在手册页中记录该选项?
AmigoNico 2014年

7

您可以为此使用“新建选项卡,新建窗口”扩展名。他们的工作方式是将新创建的标签快速移至新窗口。因此,有一些重绘,但是它确实运行良好(至少对我而言)。

请注意,正如@John在下面提到的那样,此扩展名使所有新标签页(甚至是从Chrome内部创建的标签页)都具有默认行为。


4
此扩展程序不好...即使在chrome本身内部单击命令时,它始终会打开一个新窗口
John Bachir 2013年

1
实际上,我认为这是一件好事(我讨厌标签:),但是鉴于我需要在回答中阐明这一问题,我同意。我已经更新了。
studgeek

6

针对Windows 7 pro x64更新,遵循上述Cerin-

Go to HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command

您应该看到一个名为(默认)的键。 双击此按钮可弹出编辑窗口。

从更改键值:

["C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -- "%1"]

["C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --new-window "%1"]

刚刚确认在2017
Nelson

2

上面Cerin的回答是一个很好的答案,但需要进行编辑:更改的建议密钥并不特定于Chrome,并且会根据登录用户的不同而有所不同。这是可行的解决方案:

  1. HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command
  2. 您应该看到一个名为(默认)的键。双击此按钮可弹出编辑窗口。
  3. 将键值更改为"C:\Program Files\Google\Chrome\Application\chrome.exe" --new-window "%1"

嗨,谢谢,这很好。但是,在重新启动PC或更新chrome(不确定哪个)之后,它会重新设置。既然我不经常做这两个中的任何一个,那您就不会打扰,但是您有办法避免这种情况吗?我唯一想到的就是创建一个注册表文件,该文件将在启动时运行。
Ev0oD

嗨,我不是Chrome的普通用户,因此我没有对此解决方案进行过严格的测试。但是,Chrome产品论坛中有一篇文章建议您需要更改所有chrome注册表项以具有新窗口开关。在此处了解更多信息:productforums.google.com/forum
#!

1

此命令行选项应为您工作

chrome --new-window 

这本身并不能回答“单击其他程序中的链接时”的问题,但是可以回答我的特定查询,并且是重复问题的公认答案。
Nikana Reklawyks
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.