如何从Firefox扩展程序访问网页数据?

时间:2009-10-01 14:24:51

标签: javascript firefox dom firefox-addon

我设法在Firefox中运行自定义的基本扩展程序。

接下来我要做的是:

  1. 检查用户是否在所需的网页上
  2. 如果是:请检查每个回发页面上包含字符串的隐藏元素
  3. 如果找到:使用 string 参数
  4. 启动外部应用程序

    我对网页上的javascript有一些经验,但我不知道如何注册我的脚本以在firefox中打开的每个网页上运行以及如何访问页面中的元素。

    关于从哪里开始的提示将不胜感激......

      

    编辑:我想出了如何在每个页面上运行我的代码:

    addEventListener("DOMContentLoaded", doSomething, false);
    
      

    EDIT2:我可以使用处理程序中的event.originalTarget访问页面数据,并使用Components.interfaces.nsIProcess运行应用程序

1 个答案:

答案 0 :(得分:2)

那么剩下的就是DOM遍历和外部程序的启动。

您的DOM遍历可以通过多种方式完成。但是,这是一个简单的看法

var inputs = document.getElementsByTagName("input");
for (var idx=0; idx<inputs.length; idx++){
    var tp = inputs[idx].attributes['type'].value
    console.log(tp);
    if (tp == 'hidden'){
       // grab your text at here and launch the app.
    }
}

根据此post

启动外部应用程序
var file = Components.classes["@mozilla.org/file/local;1"]
                     .createInstance(Components.interfaces.nsILocalFile);
file.initWithPath("c:\\myapp.exe");
file.launch();