Ich muss Chrome über die Befehlszeile mit benutzerdefinierten Parameter starten, die enthält Pfad zu einer js-Datei. Weiter wird dieser Pfad in verwendet werden Erweiterung.
Ich habe alle zugehörigen Dokumente sorgfältig durchsucht und alle Knoten in Chrome Debugger, aber nichts gefunden, die auf der Kommandozeile ähneln kann Parameter. Ist es irgendwie möglich, diese Parameter zu erhalten oder sie zu brauchen? um komplexere npapi-Erweiterungen zu schreiben? (theoretisch in solchen npapi- Erweiterung können wir selbst Prozess durch Win-API, Kommandozeile von Selbstprozess und so weiter).
Hack-Benachrichtigung: dieser Beitrag schlägt vor, eine gefälschte URL an Sie zu übermitteln open, das über alle Befehlszeilenparameter als Abfragezeichenfolgenparameter verfügt, z. B.
%Vor% Grundsätzlich verwende ich die Technik, die in @ dfrankows Antwort angegeben ist, aber ich öffne 127.0.0.1:0
anstelle einer gefälschten URL. Dieser Ansatz hat zwei Vorteile:
0
. Die Verwendung von 127.0.0.1
ist nicht genug, da es möglich ist, dass ein Webserver auf dem Client-Computer ausgeführt wird und die Erweiterung keine Verbindung herstellen soll dazu zufällig. Also muss ich eine Portnummer angeben, aber welche? Port 0
ist die perfekte Wahl: Laut RFC 1700 ist diese Portnummer "reserviert", das heißt Server dürfen sie nicht benutzen. Beispiel für eine Befehlszeile zum Übergeben der Argumente abc
und xyz
an Ihre Erweiterung:
Sie können diese Argumente in background.js auf diese Weise lesen:
%Vor%Konsolenausgabe (in der Konsole der Hintergrundseite der Erweiterung):
%Vor%Neben den obigen Antworten zur Verwendung der URL zum Übergeben von Parametern beachten Sie, dass nur Erweiterungen, nicht Apps, dies tun können. Ich habe eine Chrome-Erweiterung veröffentlicht, die nur die URL abfängt und für eine andere App verfügbar macht.
Der Quellcode ist verfügbar unter:
Tags und Links command-line google-chrome google-chrome-extension