firefox mobile的restartless(bootstrapped)扩展中的getElementsByName

时间:2013-02-23 12:19:04

标签: javascript android firefox-addon getelementsbytagname firefox-addon-restartless

我是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
}

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分: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