2011-09-12 32 views
1

在我的Firefox插件的overlay.xul,我可以訪問它的JavaScript在JavaScript?我無法弄清楚如何。如何訪問XUL覆蓋的DOM

在此先感謝。

+0

從你的XPI的網頁或腳本中的腳本? –

+0

@jeffamaphone XPI。 – mattsven

+0

您是否嘗試過document.getElementById()? –

回答

3

疊加層與它適用的文檔的DOM合併,它沒有自己的DOM。因此,您不訪問「覆蓋」的DOM,您可以訪問覆蓋的文檔的DOM。這是通常的做法,例如通過document.getElementById()。但是,您必須考慮一件事:在文檔完成加載之前從不訪問DOM,這會導致各種問題(如其他覆蓋失敗)。所以如果你的覆蓋包括一個腳本,你可以寫:

window.addEventListener("load", function() { 
    // Window finished loading, now we can do something 
    var button = document.getElementById("my-extension-button"); 
    button.style.backgroundColor = "green"; 
}, false) 
+0

謝謝。你知道如何在疊加層中使用''標籤嗎?我想在後臺使用和操作''。 – mattsven

+0

@NeXXeuS:你的意思是「普通」瀏覽器嗎?它可以通過'gBrowser'(一個全局變量)訪問。或者您可以添加您自己的瀏覽器,然後將其添加到您的覆蓋圖中(然後選擇應用覆蓋圖的文檔中的某個插入點)。 –