existiert Portierungs Erweiterung von Chrome in FFFirefox WebExtension: Überprüfen Sie, ob meine Erweiterung
dieses Tutorial Gefolgt (die in Chrome funktioniert gut): http://www.codingscripts.com/check-whether-user-has-a-chrome-extension-installed/
Senden Nachricht von Webseite-Erweiterung: In (web) pagescript.js dies hat:
function IsExist(extensionId,callback){
chrome.runtime.sendMessage(extensionId, { message: "installed" },
function (reply) {
if (reply) {
callback(true);
}else{
callback(false);
}
});
}
IsExist("Your extension id",function(installed){
if(!installed){
alert("Please install extension ");
}
});
von Web-Seite in Verlängerung Empfangen Nachricht:
chrome.runtime.onMessageExternal.addListener(
function(req, sender, callback) {
if (req) {
if (req.message) {
if (req.message == "installed") {
callback(true);
}
}
}
return true;
});
Was ich versuche
Ein paar HTML-Seiten auf meiner Website zu erreichen, müssen die Startseite umleiten zurück, wenn die Erweiterung nicht installiert ist. Diese Seiten müssen also in der Lage sein, herauszufinden, ob die Erweiterung installiert ist oder nicht.
Fehler Ich erhalte, wenn ich die Homepage zu öffnen
Reference: Chrom ist nicht definiert. (Ich habe auch versucht mit browser.runtime.onMessageExternal aber dann wirft es "Browser" ist nicht definiert). Gibt es keine Möglichkeit, dies ähnlich wie in Chrome zu tun?
Wenn ich chrome.runtime.onMessageExternal in browser.runtime.onMessageExternal ändere, bekomme ich den gleichen Fehler, aber mit "Browser ist nicht definiert" anstelle von "Chrome ist nicht definiert". – Wayfarer
Hmm, haben Sie "external_connectable" in Manifest? Ich bin kein Experte für FF, also kann ich nur sagen, dass es [nicht in den unterstützten Schlüsseln] aufgeführt ist (https://developer.mozilla.org/en-US/Add-ons/WebExtensions). – wOxxOm
Ja, ich habe meine Domain in "external_connectable" hinzugefügt. Ich habe meinen Beitrag bearbeitet und ein "Was ich versuche zu erreichen" hinzugefügt, um den Zweck meiner Frage besser zu umreißen und warum ich browser.runtime.sendMessage auf meiner Webseite brauche, und nicht im Extension-Inhaltsskript. (weil ich weiß, dass es dort funktioniert) – Wayfarer