2012-04-12 4 views
0

У меня есть этот код:Как открыть панель с помощью Javascript?

<?xul-overlay href="chrome://myextention/popup.xul"?> 

<toolbarbutton id="button" type="menu"> 
    <panel id="popup" /> 
</toolbarbutton> 

Когда я нажимаю на button он открывает popup панель. Теперь я хочу открыть ту же панель, когда я нажимаю элемент в другом окне. Я получаю текущий браузер с navigator:browser, находя панель (например, panel.state работает) и пытается ее открыть, но она не работает.

Я пробовал openPopup, open = true и openPopupAtScreen - все это не работает. Есть идеи?

ответ

2

openPopup - это, безусловно, правильный способ открыть панель.

Я считаю, что проблема в том, что вы сделали дочернюю панель панели инструментов.

Я предлагаю сделать панель отдельным элементом в XUL (дочерний элемент mainPopupSet).

Затем используйте openPopup в обоих случаях.

+0

Я переместил панель за пределы кнопки и добавил кнопку «click» на кнопку: '$ panel.openPopup()'. Оно работает. После этого я добавил событие 'click' на элемент в другом окне (' window.open') и снова, даже если я получаю элемент панели, он игнорирует 'openPopup'. –

+0

Можно ли разместить еще какой-нибудь код? Я не уверен, что вы подразумеваете под «ignores openPopup» Если всплывающее окно уже открыто и вы вызываете openPopup, оно не будет перемещено в новое место. Вам придется скрывать и снова открывать. –

Смежные вопросы