Як змусити Chrome відкрити нове вікно для зовнішніх посилань


10

Як деякі люди можуть знати, поведінка за замовчуванням для зовнішніх посилань Google Chrome є досить поганою. Я використовую Spaces і відкриваю посилання в якійсь програмі поза Google Chrome, перебуваючи в іншому просторі, ніж останнє використовуване вікно Chrome, призводить до переходу Chrome на останнє зосереджене вікно.

Така поведінка просто погана.

Я хочу змінити таку поведінку. У Windows це можливо: як можна налаштувати Chrome для відкриття нових екземплярів браузера в нових вікнах, а не на вкладках?

На жаль, я не думаю, що це можливо на OS X Snow Leopard.

Я вже використовую інструмент під назвою RCDefaultApps. Це панель управління системою, де я можу вказати програми за замовчуванням для різних протоколів. Просто не вистачає можливості вказувати додаткові аргументи командного рядка для програми за замовчуванням.

Хтось може мені там допомогти? Кожні хаки (окрім створення власної збірки Chromium) є прийнятними.

Відповіді:


9

Ви можете спробувати використати AppleScript, знайдений на цій сторінці .

Я щойно спробував це, і він прекрасно працює в Chrome 12.0.742.122.

Настроїти надзвичайно просто:

  • завантажити архів Bundle
  • двічі клацніть його, щоб розпакувати його
  • двічі клацніть на OpenUrlInNewChromeWindow
  • відкрийте Safari і встановіть новий "Веб-переглядач" як браузер за замовчуванням у Налаштуваннях.

новий браузер за замовчуванням


Здається, це вводить (дуже коротку) затримку перед відкриттям вікна, але саме це я шукав. Дякую!
jsadfeew

Цей яблучний сценарій чудово працює.
Нельсон

3

Починаючи з відповіді Дейва, я виявив, що в Chrome 45 запуск osascriptбільше не потрібен, і що з ОС 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 та уніфікованих ідентифікаторів типів

У системних налаштуваннях відкрийте новий екран додатків за замовчуванням, перейдіть на вкладку URL-адреси та встановіть експортований сценарій Apple як обробник для http та https .


Дуже дякую. Це єдине рішення, яке працювало на мене, це мене приводило в оману роками.
Люк Дюберт

2

Я також не міг змусити його працювати.

Я намагався зробити наступну команду:

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

Але це відкриває новий Chrome, який миттєво закривається (якщо Chrome вже відкритий). Я планував обернути вищезгадану команду в скрипті bash, а потім дозволити їй мати аргументи (для URL-адреси).

Але оскільки вищезгадана команда не спрацювала, я все ще думаю про це. Поки я вважаю, що це не можливо "без деяких змін до Chromium, але я можу щось не помітити. Рано, і я ще не пив кави. ;)


Так, я теж спробував це. (із " google.com " замість "Google Chrome.app") Обидві версії не працюють.
jsadfeew

2

Це працює над Mavericks:

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

далі:

osascript -e 'activate application "Google Chrome"'

Випробуваний в ш, баш і зш.

Чомусь, якщо я спробую розмістити їх у тому ж рядку, як так:

/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"'

Зауважте, що вам не потрібно вказувати http: // частину URL-адреси в кінці, щоб вона працювала, але якщо ви це зробите, вам потрібно уникнути двокрапки (:).

Щоб зробити цей скрипт моїм браузером за замовчуванням, я створив яблучний скрипт і експортував його як додаток, а потім відкрив налаштування Safari і встановив програму як свій браузер за замовчуванням. Ось код Applescript:

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

Замініть [ім'я користувача] власним іменем користувача.


Я вважаю, що я віддаю перевагу такому рішенню, ніж рішення компанії mwidmann, це те, що воно закриється після відкриття URL-адреси, тоді як інший, здається, потребує залишатися відкритим, щоб працювати. Це означало, що OpenUrlInNewChromeWindow завжди знаходився у списку запущених програм CMD-Tab, і кожного разу, коли я відкривав URL-адресу, мені довелося двічі вкладати вкладку, щоб повернутися до попереднього додатка.
Дейв

Я можу підтвердити, що використання RCDefaultApp на Майкла Шміда також працює на OSX El Capitan (10.11.1).
Дейв

-1

Параметр команди --new-window зробив це для мене. ("C: \ Program Files (x86) \ Google \ Chrome \ Application \ chrome.exe" - нове вікно https://www.google.com )


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