Ich versuche, mein Panel in einem Add-on make mit dem neuen SDK zu positionieren.
Ich sehe, dass die Dokumentation nur die one Möglichkeit zeigt, die Position eines Panels zu steuern, und zwar indem Sie einen Anker übergeben, wenn Sie show()
it:
zeige (Anker)
Zeigt das Bedienfeld an. [Anker: Griff]
Ein Handle für einen DOM-Knoten in einer Seite, auf der das Panel erscheinen soll verankert werden. Wenn nicht angegeben, ist das Panel in der Mitte zentriert neues Browserfenster. Beachten Sie, dass dies derzeit nicht möglich ist verankern Sie auf diese Weise nur die High-Level-APIs.
Im Idealfall möchte ich, dass der Anker das Widget ist, an dem das Panel verankert ist, wenn auf dieses Widget geklickt wird, aber das Widget ist kein DOM node in a page
, also denke ich nicht ...
Ich kann das wahrscheinlich umgehen, aber ich kann nicht einmal ein funktionierendes Beispiel dafür finden, wie man das Panel an einem DOM-Knoten verankert. Wenn ich einen DOM-Knoten in einem contentScript
bis port
wie folgt zurückgebe:
lib / main.js
%Vor%data / scraper.js
%Vor%Ich bekomme den folgenden Konsolenfehler:
%Vor%Jede Information, die mir hilft, erfolgreich an einem DOM-Element zu verankern oder eine andere Möglichkeit zu finden, das Panel zu positionieren, wäre großartig.
Danke.
Anstatt mainPanel.show()
zu verwenden, verwenden Sie view.panel = mainPanel;
. Es wird das Problem lösen bcz ich habe das gleiche getan.
Wenn Sie Ihr Widget definieren, können Sie eine Panel-Eigenschaft hinzufügen, die die Instanz Ihres Panels darstellt:
[Panel: Panel]
Ein optionales Fenster, das geöffnet wird, wenn der Benutzer auf das Widget klickt. Hinweis: Wenn Sie registrieren auch einen "Klick" Listener, der anstelle des Panel wird geöffnet. Sie können das Bedienfeld jedoch über den Listener anzeigen indem Sie this.panel.show () aufrufen.
Hier ist ein Beispiel (leider gibt es dafür kein Beispiel in der Dokumentation):
%Vor%Tags und Links javascript firefox-addon firefox-addon-sdk