2016-11-21 3 views
0

Ich entwickelte ein Add-on, daneshLink, das von Firefox verifiziert wurde. Benutzer installierten dieses Add-On und verwendeten es. Dieses Add-on funktionierte, aber wenn Firefox auf Version 50.0 aktualisiert wurde, funktioniert dieses Add-on nicht.Warum funktioniert mein Firefox-Add-On nicht nach der Aktualisierung von Firefox auf Version 50

(Hinweis: Add-on wurde nicht entfernt oder deaktiviert nach der Aktualisierung von Firefox. Es funktioniert einfach überhaupt nicht).

var x = content.document.getElementsByTagName('html')[0].innerHTML; 
var test = x.match(/>article Id:[0-9a-zA-z]/img); 
var url = "> <a href=\"http://mysite.ir/index.jsp?articleID="; 
for (var i = 0; i < test.length; i++) { 
    x = x.replace(test[i], url +">Download :" + test[i] + "</a>"); 
} 
content.document.getElementsByTagName('html')[0].innerHTML = x; 
+0

Bitte [Bearbeiten] Ihre Frage-Thema sein: Fragen Debug-Hilfe zu suchen ("** Warum funktioniert dieser Code nicht? ** ") muss Folgendes enthalten: ► das gewünschte Verhalten, ► ein bestimmtes Problem oder einen Fehler * und * ►den kürzesten Code, der für die Wiedergabe ** in der Frage selbst erforderlich ist **. Fragen ohne eine klare Problemstellung sind für andere Leser nicht nützlich. Siehe: [** So erstellen Sie ein minimales, vollständiges und verifizierbares Beispiel **] (http://stackoverflow.com/help/mcve), [Welche Themen kann ich hier fragen?] (Http: // stackoverflow. com/help/on-topic) und [Wie stelle ich eine gute Frage?] (http://stackoverflow.com/help/how-to-ask). – Makyen

+0

Ohne Code ist es uns nicht möglich zu erraten, warum dieses Add-on nicht funktioniert. Es genügt nicht, nur einen Zeiger auf Ihr Add-on zu geben. Bereitstellung von Code. Es muss * in der Frage selbst sein *. – Makyen

+0

Ein anderes Mal, wenn Sie Ihr Add-on schreiben, ist es eine gute Idee, mit Firefox-Versionen zu testen, die für die Veröffentlichung in der Pipeline sind. Dazu gehören [Firefox Beta] (https://www.mozilla.org/en-US/firefox/channel/desktop/), [Firefox Developer Edition] (https://www.mozilla.org/en-US/firefox)/developer /) und [Firefox Nightly] (https://nightly.mozilla.org/). Ihr Add-on wurde am 23.10.2016 veröffentlicht. Nächtlich war entweder ver. 51 oder 52 zu dieser Zeit. Wenn Sie solche Tests durchführen, verringert sich die Häufigkeit, mit der Ihr Add-On aktualisiert werden muss, und/oder die Zeiten, zu denen Ihr Add-On für Ihre Benutzer nicht mehr funktioniert. – Makyen

Antwort

1

Der Code, den Sie zur Verfügung gestellt haben, ist nicht ausreichend, um wissen, was das Problem ist, aber ich kann erraten. Sie haben wahrscheinlich ein Problem mit dem Wechsel zum Multiprozess-Firefox. Die Tatsache, dass dies ein Overlay-Add-On ist und Ihre Verwendung von content.document es wahrscheinlich macht, trennen Sie nicht den Zugriff auf das DOM von Webseiten (mit Arbeitern) von Ihrem Hauptskript.

Sie sind wahrscheinlich am besten gedient, indem Sie dies als WebExtension umschreiben, wenn möglich. Alternativ können Sie es als eine Add-on SDK basierte Erweiterung schreiben. Wenn Sie wirklich ein Overlay-Add-on benötigen, ist es möglich, die Trennung zwischen Ihrer Hauptskriptfunktionalität und dem Zugriff auf das DOM zu ermöglichen. Dies ist jedoch nicht so einfach wie für andere Arten von Add-Ons.

<em:multiprocessCompatible>false/em:multiprocessCompatible> 

in Ihrem install.rdf: durch Angabe

Sie kann der Lage sein, den aktuellen Code für etwas mehr kompatibel sein zu haben. Dies sollte Firefox daran hindern, den Multiprozess-Modus zu aktivieren, wenn Ihre Erweiterung installiert ist, oder zumindest die compatibility shims verwenden, die für das Funktionieren Ihres Add-Ons ausreichen könnte.

Ich würde vorschlagen, Sie lesen:

Verwandte Themen