2016-04-26 9 views
1

Ich habe ein Addon, das eine ActionButton in der Symbolleiste platziert. Wenn auf ActionButton geklickt wird, wird der folgende Code ausgeführt.Firefox Addon öffnet Tab mit Inhalt, Kopieren/Einfügen der Tabs URL wird nicht geladen Seite

Der Code öffnet eine neue Registerkarte und bietet einige html und js, dies fungiert als die Benutzeroberfläche des Addons.

Die url der neuen Registerkarte:

resource://jid1-qljswfs6someid-at-jetpack/addon-firefox/data/html/view.html 

Wenn ich copy/paste, dass url in eine andere neue Registerkarte manuell die html zeigt aber die js Logik ist nicht geladen. Gibt es eine Möglichkeit, dies zu tun, ohne auf die ActionButton zu klicken? So könnte ich vielleicht das Addon bookmarken, anstatt den ActionButton Platz zu nehmen.

Code:

Tabs.open({ 
    url: require("sdk/self").data.url('html/view.html'), 
    onReady: function onReady(tab) { 

    worker = tab.attach({ 
     contentScriptFile: [ 
     require("sdk/self").data.url.get('lib/lib1.js'), 
     require("sdk/self").data.url.get('js/lib1.js') 
     ], 
     onMessage: function(message) { 

     console.log('stuff done'); 
     } 
    }); 
    } 
}); 

Antwort

3

Um sie zu laufen, wenn die Website von data.url('html/view.html') geladen wird Sie page-mod anstatt manuell Befestigung auf das Dokument auf die Registerkarte verwenden müssten.

Ihr Include-Muster wäre etwa data.url('html/view.html') + "*", also hängt es auch an die Seite, wenn es einen Hash oder eine Abfrage zum Dokument gibt.

+0

Awesome Hilfe zu den Firefox Addons Tags, die Sie in letzter Zeit geben @humanoid weiter so! – Noitidart