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


45

Щоразу, коли я натискаю посилання з чогось на зразок перспективи або програма відкриває веб-сторінку (не коли я натискаю посилання з хрому ). Він відкривається в Chrome, оскільки це мій браузер за замовчуванням, але якщо у мене вже відкрита сторінка, вона відкриється на новій вкладці цього самого вікна. Я не можу сказати, скільки разів я про це забуваю і закриваю вікно, випадково втрачаючи й іншу вкладку. Звичайно, я можу відкрити нове хромоване вікно і знайти його під нещодавно закритими вкладками, але я б дуже хотів, якби вони відкрилися у власному вікні, щоб я міг запобігти цьому.

Відповіді:


28

Проблема

Для Linux, якщо у вас є кілька серверів VNC, ця сама проблема виникне.
Це є,

$ google-chrome
Created new window in existing browser session

І жодне вікно Google Chrome не з’явиться в поточному сеансі X VNC (нова вкладка з’явиться в сесії 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

Здається, що в Інтернеті не існує зручної для користувача можливості змінити це (можливо, тому що більшість людей віддає перевагу новій вкладці).

Однак ви можете змінити це вручну, відредагувавши команду, вказану у вашому реєстрі 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-адрес.


Коли я двічі клацну за замовчуванням, у поп з’являється поле під назвою Value Data, воно порожнє. Чи потрібно просто додати --new-window або --new-window "% 1" Також я використовую Win7, якщо це має значення.
JD Isaacks

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 Під цим ви можете знайти оболонку / open / команду, тож повний шлях: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\""
Ігор Акерман

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? Я зберегла вищезгадане в [Мій користувач] / Бібліотека / Сценарії додатків як "додаток", але воно не відображалось як браузер за налаштуваннями браузера Safari за замовчуванням. Крім того, я завантажив пакет яблучного сценарію з рішення Майка Харді і розпакував його в тій же папці. Це додало сценарій до списку браузерів, і я вибрав його, але коли я натиснув на посилання із зовнішньої програми, посилання не відкрилося.
Майк Енг

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параметр, якщо ви просто хочете змінити поведінку піктограми запуску. Чому варіант не задокументований на сторінці man ???
AmigoNico

7

Для цього можна використовувати розширення "Нова вкладка, нове вікно" . Вони так працюють, швидко переміщують новостворену вкладку до нового вікна. Таким чином, є трохи перекроювання, але це працює досить добре (принаймні для мене).

Зауважте, як @John згадує нижче, це розширення визначає поведінку за замовчуванням для всіх нових вкладок (навіть тих, створених з Chrome всередині).


4
це розширення не добре ... воно завжди відкриває нове вікно, навіть при натисканні команд із самого хрому
Джон Бачір

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

відповідь Серіна вище - хороша, але потрібна редагування: запропонований ключ для зміни не є специфічним для Chrome і змінюється залежно від зареєстрованого користувача. це робоче рішення:

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

Привіт, спасибі, це чудово працює. Однак після перезавантаження ПК або оновлення хрома (не впевнений, який) він встановлюється назад. Це не турбує, оскільки я не роблю жодного з цих двох занадто часто, але у вас є спосіб уникнути цього? Єдине, що мені спадає на думку - створити файл реєстру, який би запускався при запуску.
Ev0oD

Привіт, я не є звичайним користувачем Chrome, тому я не робив важких тестів на це рішення. Однак на форумі продуктів Chrome є публікація, яка пропонує змінити всі випадки реєстру хрому, щоб мати перемикач нового вікна. Дізнайтеся більше там: productforums.google.com/forum/#!msg/chrome/V8blictbYuI/…
Michael Bahig

1

Цей параметр командного рядка повинен працювати для вас

chrome --new-window 

Це не відповідає на запитання "при натисканні на посилання в інших програмах" саме по собі, але воно відповідає моєму конкретному запиту і є прийнятою відповіддю на повторне запитання.
Nikana Reklawyks
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.