Heim > Web-Frontend > js-Tutorial > Wie kann der Installationsstatus der Chrome-Erweiterung anhand eines externen Skripts ermittelt werden?

Wie kann der Installationsstatus der Chrome-Erweiterung anhand eines externen Skripts ermittelt werden?

Susan Sarandon
Freigeben: 2024-11-17 01:29:03
Original
727 Leute haben es durchsucht

How to Determine Chrome Extension Installation Status from an External Script?

Bestimmen des Installationsstatus der Chrome-Erweiterung anhand eines externen Skripts

Bei der Entwicklung einer Chrome-Erweiterung, die mit externen JavaScript-Skripten interagiert, müssen Sie möglicherweise feststellen, ob Ihre Erweiterung ist im Browser eines Benutzers installiert. Mit dieser Funktion können Sie das Verhalten Ihres Skripts entsprechend anpassen.

Chrome hat eine Funktion eingeführt, die es externen Websites ermöglicht, mit Erweiterungen zu kommunizieren. Durch die Einbindung des folgenden Codes in das Hintergrundskript Ihrer Erweiterung (background.js) können Sie einen Kommunikationskanal einrichten:

chrome.runtime.onMessageExternal.addListener(
    function(request, sender, sendResponse) {
        if (request) {
            if (request.message) {
                if (request.message == "version") {
                    sendResponse({version: 1.0});
                }
            }
        }
        return true;
    });
Nach dem Login kopieren

Von der externen Website aus können Sie wie folgt eine Nachricht an die Erweiterung initiieren:

var hasExtension = false;

chrome.runtime.sendMessage(extensionId, { message: "version" },
    function (reply) {
        if (reply) {
            if (reply.version) {
                if (reply.version >= requiredVersion) {
                    hasExtension = true;
                }
            }
        }
        else {
          hasExtension = false;
        }
    });
Nach dem Login kopieren

Dieses Skript prüft, ob Ihre Erweiterung vorhanden ist und weist der Variablen hasExtension einen Wert zu. Die einzige Einschränkung ist die asynchrone Natur der Anfrage, die Sie in Ihrer Implementierung berücksichtigen müssen.

Denken Sie daran, der Datei manifest.json Ihrer Erweiterung einen Eintrag hinzuzufügen, um die Domänen anzugeben, mit denen kommuniziert werden kann Verwenden Sie dazu die folgende Syntax:

"externally_connectable": {
    "matches": ["*://localhost/*", "*://your.domain.com/*"]
},
Nach dem Login kopieren

Update 2021:

Beim Aufruf von chrome.runtime.sendMessage wird eine Ausnahme ausgelöst, wenn die Erweiterung nicht installiert ist oder deaktiviert. Um diese Situation zu bewältigen, fügen Sie die folgende Validierung innerhalb des sendMessage-Rückrufs hinzu:

if (chrome.runtime.lastError) {
    // handle error
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann der Installationsstatus der Chrome-Erweiterung anhand eines externen Skripts ermittelt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage