Zmusić Chrome do otwierania nowych stron w nowym oknie, a nie na karcie? (po otwarciu z programu)

45

Ilekroć klikam link z czegoś takiego jak Outlook lub program otwiera stronę internetową (nie kiedy klikam link z poziomu Chrome ). Otwiera się w Chrome, ponieważ jest to moja domyślna przeglądarka, ale jeśli mam już otwartą stronę, otworzy się w nowej karcie w tym samym oknie. Nie mogę powiedzieć, ile razy o tym zapominam i zamykam okno, przypadkowo tracąc także drugą kartę. Oczywiście mogę otworzyć nowe okno Chrome i znaleźć je pod ostatnio zamkniętymi kartami, ale naprawdę wolałbym, aby otworzyły się we własnym oknie, abym mógł temu zapobiec.

JD Isaacks
źródło

Odpowiedzi:

28

Problem

W przypadku systemu Linux, jeśli masz wiele serwerów VNC, wystąpi ten sam problem.
To jest,

$ google-chrome
Created new window in existing browser session

I żadne okno Google Chrome nie pojawi się w bieżącej sesji X VNC (nowa karta pojawi się w sesji X z pierwszą instancją Google Chrome).

Rozwiązanie

Prostym obejściem jest uruchomienie

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

To ustawia unikalny katalog użytkownika na podstawie używanej instancji X VNC . Katalog użytkowników zostanie utworzony w razie potrzeby. Nowy google-chromeproces zostanie wyświetlony w ramach bieżącej sesji X VNC.

Testowane przy użyciu Google Chrome w wersji 22 na Ubuntu 12.04.

JamesThomasMoon1979
źródło
6
Jest to jeden z najważniejszych tekstów w Internecie. Składam Tobie hołd.
Jonathan Feinberg
2
google-chrome --new-windowzrobił to dla mnie.
Nikana Reklawyks
Dzięki @NikanaReklawyks. Wygląda na to, że --new-windowbył w źródle od 2013 roku, więc mogłem to przegapić. To było dawno temu.
JamesThomasMoon1979
13

Wygląda na to, że nie ma przyjaznej dla użytkownika opcji zmiany tego w Chrome (prawdopodobnie dlatego, że większość ludzi woli nową kartę).

Można to jednak zmienić ręcznie, edytując polecenie określone w rejestrze systemu Windows używane do otwierania adresu URL http.

Aby to zrobić, otwórz regedit i:

  1. Iść do HKEY_CLASSES_ROOT\http\shell\open\command
  2. Powinieneś zobaczyć jeden klucz o nazwie (Default). Kliknij dwukrotnie, aby wyświetlić wyskakujące okienko edycji.
  3. Na końcu Value data:pola powinieneś zobaczyć tekst -- "%1". Zmień to na --new-window "%1".

To sprawi, że Windows otworzy wszystkie linki http w nowym oknie Chrome zamiast nowej karty.

Prawdopodobnie ten sam ogólny pomysł jest prawdziwy w przypadku komputerów Mac i Linux, ale nie wiem od razu, gdzie przechowują polecenie otwierania adresów URL.

Cerin
źródło
Po dwukrotnym kliknięciu domyślnie pop ma pole o nazwie Dane wartości, jest puste. Czy powinienem tylko dodać --new-window lub --new-window "% 1" Również używam Win7, jeśli to ma znaczenie.
JD Isaacks
1
Uwaga: jeśli przeszukujesz rejestr w poszukiwaniu innych kluczy zawierających „chrome.exe” i znajdziesz jeden z wartością zawierającą „-% 1”, wówczas dodanie mojej zmiany powinno działać.
Cerin,
3
Czy jest jakiś dobry sposób, aby „zapobiec”, że Chrome nie zastąpi tych zmian przy każdej aktualizacji? (Co zdarza się stosunkowo często.)
Qtax,
3
Pamiętaj, że w systemie Windows 10 jest nieco inny. Ta odpowiedź informuje nas, że domyślna przeglądarka jest tutaj: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Shell\Associations\URLAssociations\(http|https)\UserChoice Tak więc w przypadku Chrome jest napisane: ProdId=ChromeHTML Stamtąd można znaleźć ChromeHTML tutaj: HKEY_CLASSES_ROOT\ChromeHTML Poniżej znajduje się polecenie shell / open / command, więc pełna ścieżka to:HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command
Trinition
1
Aby zastosować rozwiązanie @ Trinition bez przechodzenia przez Edytor rejestru, możesz zapisać następującą zawartość jako „WebLinks.reg” i uruchomić ją. Sprawdź, czy plik zawiera poprawny katalog instalacyjny Chrome. Dodaj też nowe znaki pomiędzy;) 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 opublikował rozwiązanie dla Mac OS X. Używam go w wersji 10.7 Lion i działa dobrze.

Rozwiązanie obejmuje małą aplikację 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

Ustawienie tej aplikacji jako domyślnej przeglądarki spowoduje otwarcie łączy zewnętrznych programów w nowym oknie w Chrome.

sffc
źródło
Jak / gdzie mam zapisać tę aplikację AppleScript w wersji 10.9.5 Mavericks? Zapisałem powyższe w [My User] / Library / Application Scripts jako „application”, ale nie pojawiło się jako przeglądarka w domyślnych ustawieniach przeglądarki Safari. Pobrałem też pakiet AppleScript z rozwiązania Mike'a Hardy'ego i rozpakowałem go w tym samym folderze. To dodało skrypt do listy przeglądarek i wybrałem go, ale kiedy kliknąłem link z zewnętrznej aplikacji, link się nie otworzył.
Mike Eng
7

W przypadku jakichkolwiek użytkownicy Linuksa zastanawiają się to samo, zrobiłem to poprzez kopiowanie /usr/share/applications/chromium.desktopdo ~/.local/share/applications, a następnie edytując go w następujący sposób:

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

Jeśli używasz chromiumpakietu Debian i nie masz nic przeciwko ustawieniu go jako domyślnego dla wszystkich użytkowników w systemie, możesz zamiast tego edytować /etc/chromium/defaulti dodawać --new-windowdo CHROMIUM_FLAGSzmiennej.

Sam Morris
źródło
Dzięki - tak bardzo zmęczyło mnie przejście na inny pulpit, kiedy kliknąłem program uruchamiający Chrome! Dodam tylko, że możesz po prostu edytować właściwości ikony programu uruchamiającego, aby dodać --new-windowopcję, jeśli chcesz tylko zmienić zachowanie ikony programu uruchamiającego. Dlaczego opcja nie jest udokumentowana na stronie podręcznika ???
AmigoNico,
7

W tym celu możesz użyć rozszerzenia „Nowa karta, nowe okno” . Ich sposobem jest szybkie przenoszenie nowo utworzonej karty do nowego okna. Jest więc trochę przerysowywania, ale działa całkiem dobrze (przynajmniej dla mnie).

Uwaga: jak wspomina poniżej @John, to rozszerzenie stanowi domyślne zachowanie dla wszystkich nowych kart (nawet tych utworzonych z poziomu Chrome).

studgeek
źródło
4
to rozszerzenie nie jest dobre ... zawsze otwiera nowe okno, nawet po kliknięciu polecenia z poziomu samego chrome
John Bachir
1
Właściwie uważam, że to dobra rzecz (nienawidzę kart :), ale zgadzam się, biorąc pod uwagę pytanie, które musiałem wyjaśnić w mojej odpowiedzi. Zaktualizowałem to.
studgeek
6

Zaktualizowano dla Windows 7 pro x64, po Cerin powyżej -

Go to HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command

Powinieneś zobaczyć jeden klucz o nazwie (Domyślny). Kliknij dwukrotnie to, aby wyświetlić wyskakujące okienko.

Zmień wartość klucza z:

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

do

["C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --new-window "%1"]
Philip
źródło
Właśnie potwierdziłem, że działa w systemie Windows 10 w styczniu 2017 r.
Nelson
2

odpowiedź Cerina powyżej jest dobra, ale konieczna jest edycja: proponowany klucz do zmiany nie jest specyficzny dla Chrome i zmienia się w zależności od zalogowanego użytkownika. to jest działające rozwiązanie:

  1. Iść do HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command
  2. Powinieneś zobaczyć jeden klucz o nazwie (Domyślny). Kliknij dwukrotnie, aby wyświetlić wyskakujące okienko edycji.
  3. Zmień wartość klucza na "C:\Program Files\Google\Chrome\Application\chrome.exe" --new-window "%1".
Michael Bahig
źródło
Cześć, dzięki, to działa świetnie. Jednak po ponownym uruchomieniu komputera lub aktualizacji Chrome (nie jestem pewien, który) jest cofnięty. Nie przeszkadza, ponieważ nie robię tych dwóch zbyt często, ale czy potrafisz tego uniknąć? Jedyne, co przychodzi mi do głowy, to utworzenie pliku rejestru, który byłby uruchamiany podczas uruchamiania.
Ev0oD
Cześć, nie jestem zwykłym użytkownikiem Chrome, więc nie przeprowadzałem ciężkich testów tego rozwiązania. Istnieje jednak post na forum produktów Chrome, który sugeruje, że musisz zmienić wszystkie wpisy rejestru chrome, aby mieć przełącznik nowego okna. dowiedzieć się więcej tam: productforums.google.com/forum/#!msg/chrome/V8blictbYuI/...
Michael Bahig
1

Ta opcja wiersza poleceń powinna działać dla Ciebie

chrome --new-window 
Wsparcie techniczne
źródło
To nie odpowiada na pytanie „po kliknięciu linków w innych programach”, ale odpowiada na moje konkretne zapytanie i jest akceptowaną odpowiedzią na duplikat pytania.
Nikana Reklawyks