Я пытаюсь добиться некоторого прогресса в позиционировании моей панели в надстройке с новым SDK.
Я вижу, что в документации показан только один способ управления положением панели, а именно передача привязки, когда вы show ()
it:
show (привязка)
Отображает панель.[привязка: дескриптор]
Дескриптор узла DOM на странице, для которого панель должна отображаться быть на якоре. Если не указано, панель центрируется внутри наиболее последнее окно браузера. Обратите внимание, что в настоящее время невозможно таким образом якорные панели используют только высокоуровневые API.
В идеале я бы хотел, чтобы якорем был виджет, к которому панель будет привязана при щелчке этого виджета, но виджет не является узлом DOM на странице
, поэтому я думаю, что нет ...
Я, вероятно, смогу обойти это, но я даже не могу найти рабочий пример того, как привязать панель к узлу DOM. Когда я передаю обратно узел DOM в contentScript
через порт
следующим образом:
lib / main.js
var scraper = pageMod.PageMod({
include: ['*'],
contentScriptWhen: 'ready',
contentScriptFile: [data.url('jquery-1.6.2.min.js'), data.url('scraper.js')],
onAttach: function(worker){
worker.port.on('pageLoaded', function(page){
widget.panel.show(page.anchor);
});
}
data / scraper.js
$('body').append('
<div id="anchor-to-me" style="position:fixed; bottom: 0; right: 0;">.</div>
');
var anchor = $('#anchor-to-me').get();
self.port.emit('pageLoaded', { anchor : anchor });
, я получаю следующее ошибка консоли:
error: An exception occurred.
Traceback (most recent call last):
File "resource://jid1-wuvxefqtmptsnw-at-jetpack-addon-kit-lib/panel.js", line 147, in show
let document = getWindow(anchor).document;
File "resource://jid1-wuvxefqtmptsnw-at-jetpack-addon-kit-lib/panel.js", line 345, in getWindow
let anchorWindow = anchor.ownerDocument.defaultView.top;
TypeError: anchor.ownerDocument is undefined
Любая информация, которая поможет мне успешно привязаться к элементу DOM или найти другой способ позиционирования панели, была бы замечательной.
Спасибо.