Ist es möglich, Chrome gleichzeitig mit und ohne Websicherheit auszuführen?

37

Ich habe kürzlich herausgefunden, dass ich Chrome "Web Security" mithilfe eines Befehlszeilenarguments deaktivieren kann, um die JavaScript-Entwicklung zu vereinfachen. Das Problem ist, dass ich nicht mehr als eine "Instanz" von Chrome gleichzeitig ausführen kann. Wenn chrome.exe --disable-web-securityChrome bereits ausgeführt wird, öffnet es nur ein neues Fenster in der ausgeführten Instanz und ignoriert meine Befehlszeilenargumente. Ich kann Chrome vollständig schließen und mit dem obigen Befehlszeilenargument neu starten, aber dann werden alle meine Fenster ohne Web-Sicherheit ausgeführt, was für die allgemeine Browser-Nutzung eine schlechte Sache ist.

Um die Frage zusammenzufassen: Ist es möglich, eine Instanz von Chrome mit dem --disable-web-securityFlag zu starten, während eine normale Chrome-Instanz ausgeführt wird?


Hinweis: Ich vermute, dass die Antwort in den Chrome-Befehlszeilenschaltern liegt , aber es gibt nur ... so viele ...

Hubro
quelle

Antworten:

41

Ich habe eine ähnliche Frage auf Ask Ubuntu gefunden . Anscheinend können Sie Chrome anweisen, eine neue Sitzung zu starten, indem Sie ein neues Nutzerdatenverzeichnis übergeben. Dies bedeutet, dass ich jetzt diesen Befehl ausführen kann:

chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security

Ein neues Chrome-Fenster wird geöffnet, in dem die Websicherheit deaktiviert ist. Yay!


Hinweis: Dies bedeutet, dass das Drag & Drop von Fenstern zwischen diesen beiden Fenstern nicht funktioniert.

Hubro
quelle
1
You can tell Chrome to start a new session by passing it a new user data directory. Jep; Tatsächlich ist dies bei den meisten Switches der Fall. Eine "Instanz" wird von Chrome mit einer eindeutigen Reihe von Argumenten (in beliebiger Reihenfolge) ausgeführt. Es kann sein, dass es sich jetzt nicht genau so verhält, aber user-data-dirmindestens immer noch eine neue Instanz auslöst. Window drag & drop won't work between these two windows. Nee; Für Chrome stammen sie aus zwei verschiedenen Browsern / Apps. Seien Sie auch vorsichtig mit Handlern: Das Ausführen einer .htmDatei oder eines Lesezeichens wird in einer Instanz mit den in der Typregistrierung angegebenen Argumenten geöffnet.
Synetech
Gibt es eine Möglichkeit, dies unter Mac OS X zu tun?
August
1
@aug: Das kann ich nicht testen, aber versuchen (vom Terminal): open -a /Applications/Chrome.app --user-data-dir="/tmp/chrome_dev_session" --disable-web-security. Ich gehe hier davon aus, dass OSX ein "/ tmp /" -Verzeichnis hat, Sie können den Pfad ändern, wenn dies nicht der Fall ist.
Hubro
1
Ich bekomme dasyou are using an unsupported command-line flag disable-web-security
CodyBugstein
1
@ CoryMawhorter Dies ist bereits in einer Antwort unten
Hubro
6

Schließen Sie alle geöffneten Fenster im Chrome-Browser. Wenn mehrere Fenster geöffnet sind, schließen Sie alles separat. Dann können Sie Chrome mit dem folgenden Code in "RUN" öffnen :

chrome.exe --allow-file-access-from-files --disable-web-security
Yash Vekaria
quelle
3

Als Antwort auf die Kommentare von @aug und @ hubro können Sie das openBefehlsflag -nverwenden, um eine neue Instanz einer App über das Mac OS X-Terminal zu öffnen:

open -n -a /Applications/Chrome.app

Sie können beliebige Flags, die Sie verwenden möchten, --disable-web-securityan das Ende dieses Befehls anhängen.

Arielkirkwood
quelle
Dies scheint keine neue Instanz zu erstellen. Denn wenn ich es in der alten Instanz versuche (mit nicht deaktivierter Sicherheit), kann ich es tun
bis zum
Huh, du hast recht! Die Manpage des openBefehls zeigt zwar an, dass das -nFlag zum Öffnen einer neuen Instanz einer Anwendung dient, Chrome & Chromium scheinen jedoch über eine bestimmte Logik zu verfügen, die das Öffnen mehrerer Instanzen der Anwendung verhindert. Der Befehl funktioniert zum Beispiel wie für Safari.
Arielkirkwood
Da diese Antwort falsch ist, können Sie sie löschen?
Noel Yap
1
Ich habe nicht einen Mac, aber ich hörte , dass es funktioniert , wenn Sie die --user-data-dir Option beinhalten: open -n -a /Applications/Chrome.app --user-data-dir="/tmp/chrome_dev_session" --disable-web-security. Bitte versuchen Sie es.
Sam Watkins
1
@ SamWatkins Ansatz hat bei mir in macOS Sierra funktioniert, aber erst nachdem ich das --argsFlag hinzugefügt und die ausführbare Chrome-Datei geöffnet habe (nicht den Chrome.app-Container). Also:open -n -a /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args --user-data-dir="/tmp/chrome_dev_session_2" --disable-web-security
Bungle
3

Für Mac:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --user-data-dir="/tmp/chrome_dev_session" --disable-web-security 

Ersetzen Sie sie bei Bedarf durch Ihren speziellen Pfad zu Chrome.

Gobi Dasu
quelle
0

Sie können Chrome als zweiten Browser verwenden, z. B. Iron oder Dragon . Vielleicht würde auch eine tragbare Instanz von Chrome funktionieren.

gronostaj
quelle