2012-04-12 21 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工程)並試圖打開它,但它不起作用。

我試過openPopupopen = trueopenPopupAtScreen - 這些都不起作用。有任何想法嗎?

回答

2

openPopup絕對是打開面板的正確方法。

我認爲問題在於你已經制作了toolbarbutton的面板子。

我會建議在XUL(mainPopupSet的一個孩子)中使面板成爲一個單獨的項目。

然後在兩種情況下使用openPopup。

+0

我將面板移動到按鈕外面,並在按鈕上添加'click'事件:'$ panel.openPopup()'。有用。 之後,我在另一個窗口('window.open')的元素上添加了'click'事件,並且再次,即使我得到面板元素,它也會忽略'openPopup'。 – 2012-04-13 12:16:23

+0

您可以發佈更多的代碼嗎?我不確定您的意思是「忽略openPopup」 如果彈出窗口已經打開並且您調用openPopup,它將不會移動到新位置。你將不得不隱藏並重新打開。 – 2012-04-25 22:28:44