Ich habe eine Chrome-Erweiterung geschrieben, die diese connect () - Funktion aufruft, um eine Verbindung zu einem lokalen C ++ - Programm herzustellen:
%Vor%Ich kann den Test1 in der Konsole sehen, aber danach habe ich den Fehler
bekommen %Vor%in der Zeile
%Vor%Meine Manifestdatei für Erweiterungen ist hier:
%Vor%Mein com.a.chrome_interface.json sieht so aus:
%Vor%und com.a.chrome_interface ist eine ausführbare C ++ - Datei von Linux, die eine Datei generiert, wenn diese aufgerufen wird und diese Datei nie erstellt wird. Ich habe beide Dateien in
gestellt %Vor%Ich denke also, ich habe mein C ++ korrekt registriert, aber ich denke auch, wenn ich es falsch registrieren würde, würde ich einen anderen Fehler bekommen. Wenn ich chrome.extension.connect () verwende, läuft das Skript durch und die Fehlermeldung verschwindet, aber keine Daten kommen in mein C ++ Programm.
Ich habe gelesen und versuche den Anweisungen zu folgen Ссылка und googelte viel, aber ich konnte den Grund meines Problems herausfinden.
Ich benutze Chromium 34 auf Ubuntu 12.04.
connectNative()
ist in einem Inhaltsskript nicht verfügbar.
Um eine Verbindung zu einem lokalen Programm herzustellen, muss das Inhaltsskript die Daten z. zum Hintergrundskript der Erweiterung und im Hintergrundskript,
%Code%
kann verwendet werden.
Also hier eine Lösung:
contentscript.js:
%Vor%background.js:
%Vor%manifest.json wie oben in meiner Frage aber zusätzlich:
%Vor% port = chrome.extension.connectNative
ist unverändert wie in der obigen Frage.
Tags und Links google-chrome google-chrome-extension chrome-native-messaging