0

我通常是使用 Firefox 进行扩展开发的新手,特别是在移动版本中,我正面临这个让我发疯的问题。

我需要提取具有特定标签名称的元素,例如<iframe><p><script>。自然地,我考虑过使用getElementsByTagName(),但它对我不起作用。此外,我不知道我应该把它放在哪里,因为当我将它链接到门衣架按钮中的功能时,它不起作用。如果我更改为启动功能,它会显示警报窗口,但结果为空(null)。

我真的被困住了,我需要你们的帮助。这里我使用的代码行:

doc=getBrowser().selectedTab.linkedBrowser.contentDocument;
frames=doc.getElementsByTagName("script");

当我按下门架中的按钮时,我只是在警报窗口和敬酒中显示提取元素数组的长度:

label: "JavaScript",// the button label in the doorhanger
callback: function() { 
    Services.prompt.alert(null,"the iframes ","Frames Tag shown "+frames.length);// the alert window
    aWindow.NativeWindow.toast.show("Frames Tag shown "+frames.length, "long");//the toast
}
4

2 回答 2

0

桌面扩展和移动扩展之间存在很多差异。首先,后者不提供全局 getBrowser() 或 gBrowser。相反,您必须使用BrowserApp 对象

于 2013-02-23T14:09:10.453 回答
0

好吧,谢谢大家的帮助,我找到了解决方案:此代码绑定到显示门架的菜单按钮:

    init();// initialization of the vriables otherwise it won't work
    var tab = window.BrowserApp.selectedTab;
    doc = tab.window.document;// getting the DOM 
    iframes=doc.getElementsByTagName("iframe");// the the iframes
于 2013-02-27T13:45:55.963 回答