Chrome zwingen, neue Seiten in neuem Fenster zu öffnen, nicht Tab? (beim Öffnen aus einem Programm)

45

Jedes Mal, wenn ich in Outlook oder einem Programm auf einen Link klicke, wird eine Webseite geöffnet (nicht, wenn ich in Chrome auf einen Link klicke ). Es wird in Chrome geöffnet, da es mein Standardbrowser ist. Wenn jedoch bereits eine Seite geöffnet ist, wird diese in einem neuen Tab im selben Fenster geöffnet. Ich kann dir nicht sagen, wie oft ich das vergesse und das Fenster schließe und versehentlich auch die andere Registerkarte verliere. Natürlich kann ich ein neues Chromfenster öffnen und es unter kürzlich geschlossenen Tabs finden, aber ich würde es wirklich vorziehen, wenn sie in einem eigenen Fenster geöffnet würden, damit ich dies verhindern kann.

JD Isaacks
quelle

Antworten:

28

Problem

Wenn Sie unter Linux über mehrere VNC-Server verfügen, tritt dasselbe Problem auf.
Das ist,

$ google-chrome
Created new window in existing browser session

In der aktuellen X VNC-Sitzung wird kein Google Chrome-Fenster angezeigt (in der X-Sitzung wird ein neuer Tab mit der ersten Instanz von Google Chrome angezeigt).

Lösung

Eine einfache Problemumgehung ist das Ausführen

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

Dadurch wird ein eindeutiges Benutzerverzeichnis basierend auf der verwendeten X VNC-Instanz festgelegt . Das Benutzerverzeichnis wird nach Bedarf erstellt. Der neue google-chromeProzess wird in der aktuellen X VNC-Sitzung angezeigt.

Getestet mit Google Chrome Version 22 unter Ubuntu 12.04.

JamesThomasMoon1979
quelle
6
Dies ist einer der wichtigsten Texte im Internet. Ich grüße dich.
Jonathan Feinberg
2
google-chrome --new-windowhabe es für mich getan.
Nikana Reklawyks
Vielen Dank an NikanaReklawyks. Sieht aus wie --new-windowwar in der Quelle ab 2013, so dass ich das möglicherweise verpasst habe. Es war vor langer Zeit.
JamesThomasMoon1979
13

Es scheint keine benutzerfreundliche Möglichkeit zu geben, dies in Chrome zu ändern (vermutlich, weil die meisten Benutzer den neuen Tab bevorzugen).

Sie können dies jedoch manuell ändern, indem Sie den Befehl bearbeiten, der in Ihrer Windows-Registrierung zum Öffnen einer http-URL angegeben ist.

Öffnen Sie dazu regedit und:

  1. Gehe zu HKEY_CLASSES_ROOT\http\shell\open\command
  2. Sie sollten einen Schlüssel mit dem Namen sehen (Default). Doppelklicken Sie darauf, um ein Popup zur Bearbeitung zu erhalten.
  3. Am Ende des Value data:Feldes sollten Sie den Text sehen -- "%1". Ändern Sie dies zu --new-window "%1".

Dadurch wird Windows angewiesen, alle http-Links in einem neuen Fenster von Chrome anstelle eines neuen Tabs zu öffnen.

Vermutlich gilt die gleiche allgemeine Idee für Mac und Linux, aber ich weiß nicht sofort, wo sie den Befehl zum Öffnen von URLs speichern.

Cerin
quelle
Wenn ich auf "Standard" doppelklicke, hat das Popup-Fenster ein Feld mit dem Namen "Wert". Es ist leer. Soll ich einfach --new-window oder --new-window "% 1" hinzufügen? Außerdem benutze ich Win7, wenn es darauf ankommt.
JD Isaacks
1
Hinweis: Wenn Sie die Registrierung nach anderen Schlüsseln durchsuchen, die "chrome.exe" enthalten, und einen mit einem Wert suchen, der "-% 1" enthält, sollte das Hinzufügen meiner Änderung funktionieren.
Cerin
3
Gibt es eine gute Möglichkeit, zu verhindern, dass Chrome diese Änderungen bei jedem Update überschreibt? (Was relativ häufig vorkommt.)
Qtax
3
Beachten Sie, dass dies in Windows 10 etwas anders ist. Diese Antwort informiert uns darüber, dass der Standardbrowser von hier aus aufgerufen wird : HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Shell\Associations\URLAssociations\(http|https)\UserChoice Für Chrome heißt es also: ProdId=ChromeHTMLVon dort aus finden Sie ChromeHTML hier: HKEY_CLASSES_ROOT\ChromeHTML Darunter finden Sie den Befehl shell / open /, der vollständige Pfad lautet also:HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command
Trinition
1
Wenn Sie die Lösung von @ Trinition anwenden möchten, ohne den Registrierungseditor zu durchlaufen, können Sie den folgenden Inhalt als "WebLinks.reg" speichern und ausführen. Stellen Sie sicher, dass die Datei Ihr korrektes Chrome-Installationsverzeichnis enthält. Fügen Sie auch ein paar Zeilen dazwischen hinzu;) 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 hat eine Lösung für Mac OS X veröffentlicht. Ich verwende sie in 10.7 Lion und sie funktioniert einwandfrei.

Die Lösung beinhaltet eine kleine AppleScript-Anwendung:

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

Wenn Sie diese Anwendung als Standardbrowser festlegen, werden externe Programmlinks in einem neuen Fenster in Chrome geöffnet.

sffc
quelle
Wie / wo soll ich diese AppleScript-Anwendung in 10.9.5 Mavericks speichern? Ich habe die obigen Informationen unter [My User] / Library / Application Scripts als "Anwendung" gespeichert, sie wurden jedoch unter den Standardbrowsereinstellungen von Safari nicht als Browser angezeigt. Außerdem habe ich das AppleScript-Bundle von Mike Hardys Lösung heruntergeladen und im selben Ordner entpackt. Dadurch wurde das Skript zur Liste der Browser hinzugefügt, und ich habe es ausgewählt. Als ich dann auf einen Link aus einer externen Anwendung klickte, wurde der Link nicht geöffnet.
Mike Eng
7

Im Fall werden alle Linux - Anwender die gleiche Sache fragen, tat ich dies durch Kopieren /usr/share/applications/chromium.desktopauf ~/.local/share/applicationsund bearbeiten sie dann wie folgt:

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

Wenn Sie das Debian- chromiumPaket verwenden und es Ihnen nichts ausmacht, dies als Standard für alle Benutzer im System festzulegen, können Sie stattdessen die Variable bearbeiten /etc/chromium/defaultund hinzufügen .--new-windowCHROMIUM_FLAGS

Sam Morris
quelle
Danke - ich war es so leid, auf einen anderen Desktop gewechselt zu werden, als ich auf den Chrome-Launcher geklickt habe! Ich möchte nur hinzufügen, dass Sie einfach die Eigenschaften für das Launcher-Symbol bearbeiten können, um sie der --new-windowOption hinzuzufügen , wenn Sie nur das Verhalten des Launcher-Symbols ändern möchten. Warum ist die Option nicht in der Manpage dokumentiert?
AmigoNico
7

Hierfür können Sie die Erweiterung "Neuer Tab, Neues Fenster" verwenden . So wie es funktioniert, wird die neu erstellte Registerkarte schnell in ein neues Fenster verschoben. Es wird also ein bisschen neu gezeichnet, aber es funktioniert ziemlich gut (zumindest für mich).

Beachten Sie, dass diese Erweiterung, wie @John unten erwähnt, das Standardverhalten für alle neuen Tabs festlegt (auch für Tabs, die in Chrome erstellt wurden).

Studgeek
quelle
4
diese erweiterung ist nicht gut ... sie öffnet immer ein neues fenster, auch wenn man aus chrome heraus auf einen befehl klickt
john
1
Ich denke eigentlich, dass das eine gute Sache ist (ich hasse Tabs :), aber ich stimme zu, wenn ich die Frage gebe, die ich brauche, um das in meiner Antwort klarer zu machen. Ich habe es aktualisiert.
Studgeek
6

Aktualisiert für Windows 7 pro x64 nach Cerin oben -

Go to HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command

Sie sollten einen Schlüssel mit dem Namen (Standard) sehen. Doppelklicken Sie darauf, um ein Popup zur Bearbeitung zu erhalten.

Ändern Sie den Schlüsselwert von:

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

zu

["C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --new-window "%1"]
Philip
quelle
Gerade bestätigt, dass dies auf Windows 10 im Januar 2017 funktioniert.
Nelson
2

Die Antwort von Cerin oben ist die richtige, aber es ist eine Bearbeitung erforderlich: Der vorgeschlagene Schlüssel zum Ändern ist nicht spezifisch für Chrome und variiert je nach angemeldetem Benutzer. Das ist die funktionierende Lösung:

  1. Gehe zu HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command
  2. Sie sollten einen Schlüssel mit dem Namen (Standard) sehen. Doppelklicken Sie darauf, um ein Popup zur Bearbeitung zu erhalten.
  3. Ändern Sie den Schlüsselwert in "C:\Program Files\Google\Chrome\Application\chrome.exe" --new-window "%1".
Michael Bahig
quelle
Hallo, danke, das funktioniert super. Entweder nach einem Neustart des PCs oder nach einem Chrome-Update (nicht sicher, welches) wird es zurückgesetzt. Das stört mich nicht, da ich keine dieser beiden Übungen viel zu oft mache, aber haben Sie eine Möglichkeit, dies zu vermeiden? Das einzige, was mir in den Sinn kommt, ist die Erstellung einer Registrierungsdatei, die beim Start ausgeführt wird.
Ev0oD
Hallo, ich bin kein regelmäßiger Nutzer von Chrome, daher habe ich diese Lösung nicht ausführlich getestet. Es gibt jedoch einen Beitrag im Chrome-Produktforum, der vorschlägt, dass Sie alle Registrierungsereignisse von Chrome ändern müssen, um den Schalter für das neue Fenster zu verwenden. Weitere Informationen
Michael Bahig
1

Diese Befehlszeilenoption sollte für Sie funktionieren

chrome --new-window 
Technischer Support
quelle
Dies beantwortet nicht die Frage per se "Wenn auf Links in anderen Programmen geklickt wird", sondern meine spezielle Frage und ist die akzeptierte Antwort auf eine doppelte Frage.
Nikana Reklawyks