Firefox叠加层如何操纵HTML DOM



我能够使用以下工具栏按钮。

<toolbarpalette id="BrowserToolbarPalette">
  <toolbarbutton id="myextension-button" 
    class="toolbarbutton-1"
    image="chrome://xulschoolhello/skin/favicon.png"
      oncommand="XULSchoolChrome.BrowserOverlay.doSomething(event);"
    label="label" tooltiptext="tooltip" />
</toolbarpalette>

当我在dosomething函数中调用"文档"对象时,我相信它可以操纵XUL DOM,而不是HTML网页。如何在功能上访问HTML网页的内容?谢谢

另外您可以去:

<toolbarpalette id="BrowserToolbarPalette">
  <toolbarbutton id="myextension-button" 
    class="toolbarbutton-1"
    image="chrome://xulschoolhello/skin/favicon.png"
      oncommand="gBrowser.contentDocument.body.innerHTML='rawr'"
    label="label" tooltiptext="tooltip" />
</toolbarpalette>

代替内联键内的窗口,您只需执行gBrowser.contentDocumentgBrowser.contentWindow即可访问当前选项卡中的浏览器的DOM。

它肯定在chrome范围

doSomething = function(event) {
var DOMWindow = event.originalTarget.defaultView; //this should be the chrome window
//however if its not then do var DOMWindow = Services.wm.getMostRecentWindow('navigator:browser'); //make sure to import Services.jsm
var HTMLWindow = DOMWindow.gBrowser.selectedTab.linkedBrowser.contentWindow; //might be _linkedBrowser
}