Заставить Chrome открывать новые страницы в новом окне, а не на вкладке? (при открытии из программы)


45

Всякий раз, когда я нажимаю на ссылку из чего-то вроде outlook или программа открывает веб-страницу (а не когда я нажимаю на ссылку из Chrome ). Он открывается в Chrome, так как это мой браузер по умолчанию, но если у меня уже есть открытая страница, он откроется в новой вкладке в том же окне. Я не могу сказать вам, сколько раз я забыл об этом и закрыл окно, случайно потеряв другую вкладку. Конечно, я могу открыть новое окно Chrome и найти его в недавно закрытых вкладках, но я бы действительно предпочел, чтобы они открывались в своем собственном окне, чтобы я мог предотвратить это.

Ответы:


28

проблема

В Linux, если у вас есть несколько VNC-серверов, возникнет та же проблема.
То есть,

$ google-chrome
Created new window in existing browser session

И в текущем сеансе X VNC не появится окно Google Chrome (в сеансе X появится новая вкладка с первым экземпляром Google-Chrome).

Решение

Простой обходной путь - запустить

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

Это устанавливает уникальный каталог пользователя на основе используемого экземпляра X VNC . Пользовательский каталог будет создан по мере необходимости. Новый google-chromeпроцесс будет отображаться в текущем сеансе X VNC.

Протестировано с использованием Google Chrome версии 22 на Ubuntu 12.04.


6
Это одна из самых важных частей текста в Интернете. Я приветствую вас.
Джонатан Фейнберг

2
google-chrome --new-windowсделал это для меня.
Никана Рекламикс

Спасибо @NikanaReklawyks. Похоже, --new-windowбыл в источнике по состоянию на 2013 год, поэтому я, возможно, пропустил это. Это было давно.
JamesThomasMoon1979

13

В Chrome нет удобной опции для изменения этого параметра (предположительно, потому что большинство людей предпочитают новую вкладку).

Однако вы можете изменить это вручную, отредактировав команду, указанную в вашем реестре Windows, которая использовалась для открытия http-ссылки.

Для этого откройте regedit и:

  1. Перейти к HKEY_CLASSES_ROOT\http\shell\open\command
  2. Вы должны увидеть один ключ с именем (Default). Дважды щелкните это, чтобы получить всплывающее окно редактирования.
  3. В конце Value data:поля вы должны увидеть текст -- "%1". Измените это на --new-window "%1".

Это заставит Windows открывать все ссылки http в новом окне Chrome вместо новой вкладки.

Предположительно, та же общая идея верна для Mac и Linux, но я не знаю, где они хранят команду для открытия URL-адресов.


Когда я дважды щелкаю по умолчанию, у всплывающего окна есть поле «Значение данных», оно пустое. Должен ли я просто добавить --new-window или --new-window "% 1" Также я использую Win7, если это имеет значение.
Джей Ди Айзекс

1
Обратите внимание, что если вы выполняете поиск в реестре любых других ключей, содержащих «chrome.exe», и находите один со значением, содержащим «-% 1», то добавление моего изменения должно работать.
Церин

3
Есть ли хороший способ «не допустить», чтобы Chrome отменял эти изменения при каждом обновлении? (Что случается довольно часто.)
Qtax

4
Обратите внимание, что в Windows 10 все немного по-другому. Этот ответ информирует нас о том, что браузер по умолчанию указан отсюда: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Shell\Associations\URLAssociations\(http|https)\UserChoice поэтому для Chrome он говорит: ProdId=ChromeHTML оттуда вы можете найти ChromeHTML здесь: HKEY_CLASSES_ROOT\ChromeHTML под ним вы можете найти команду shell / open /, поэтому полный путь:HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command
Trinition

2
Чтобы применить решение @ 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\""
Игорь Аккерман

9

Майк Харди опубликовал решение для 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? Я сохранил вышеупомянутое в [My User] / Library / Application Scripts как «приложение», но оно не отображалось как браузер в настройках браузера Safari по умолчанию. Кроме того, я скачал комплект appleScript из решения Майка Харди и разархивировал его в ту же папку. Это добавило скрипт в список браузеров, и я выбрал его, но когда я нажал на ссылку из внешнего приложения, ссылка не открылась.
Майк Энг,

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-windowк CHROMIUM_FLAGSпеременной.


Спасибо - я так устал от переключения на другой рабочий стол, когда нажимал на панель запуска Chrome! Я просто добавлю, что вы можете просто отредактировать свойства значка средства запуска, чтобы добавить в --new-windowпараметр, если вы просто хотите изменить поведение значка средства запуска. Почему этот вариант не описан в справочной странице ???
AmigoNico

7

Для этого вы можете использовать расширение «Новая вкладка, Новое окно» . То, как это работает, быстро перемещает вновь созданную вкладку в новое окно. Так что есть немного перерисовки, но это работает довольно хорошо (по крайней мере, для меня).

Обратите внимание, как @John упоминает ниже, это расширение задает поведение по умолчанию для всех новых вкладок (даже тех, которые созданы внутри Chrome).


4
это расширение не хорошо ... оно всегда открывает новое окно, даже если щелкать по команде изнутри самого Chrome
Джон Башир

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"]

Только что подтвердил, что работает на Windows 10 в январе 2017 года.
Нельсон,

2

Ответ от Cerin выше - хороший, но необходимо внести изменения: предлагаемый ключ для изменения не является специфическим для Chrome и зависит от пользователя, вошедшего в систему. это рабочее решение:

  1. Перейти к HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command
  2. Вы должны увидеть один ключ с именем (по умолчанию). Дважды щелкните это, чтобы получить всплывающее окно редактирования.
  3. Измените значение ключа на "C:\Program Files\Google\Chrome\Application\chrome.exe" --new-window "%1".

Привет, спасибо, это прекрасно работает. Тем не менее, либо после перезапуска ПК или обновления Chrome (не уверен, какой) он сбрасывается. Не беспокоит, так как я не делаю ничего из этих двух слишком часто, но есть ли у вас способ избежать этого? Единственное, что мне приходит в голову, это создать файл реестра, который будет запускаться при запуске.
Ev0oD

Привет, я не являюсь постоянным пользователем Chrome, поэтому я не проводил серьезных испытаний этого решения. Тем не менее, на форуме по продуктам Chrome есть сообщение, в котором предлагается изменить все регистры Chrome, чтобы иметь переключатель нового окна. узнайте больше здесь: productforums.google.com/forum/#!msg/chrome/V8blictbYuI/…
Майкл Бахиг,

1

Эта опция командной строки должна работать для вас

chrome --new-window 

Это само по себе не отвечает на вопрос «при переходе по ссылкам в других программах», но отвечает на мой конкретный запрос и является приемлемым ответом на дубликат вопроса.
Никана Рекламикс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.