javascript - 如何从 firefox 扩展访问网页数据?

标签 javascript firefox dom firefox-addon

我已经设法在 Firefox 中运行了一个自定义的非常基本的扩展。

接下来我要做的是:

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

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

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

EDIT: I figured out how to run my code on each page:

addEventListener("DOMContentLoaded", doSomething, false);

EDIT2: I could access page data with event.originalTarget in the handler and run apps with Components.interfaces.nsIProcess

最佳答案

那么剩下的就是 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();

关于javascript - 如何从 firefox 扩展访问网页数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1504285/

相关文章:

javascript - 带有 Highcharts 的实时数据

html - CSS 幻灯片在 Firefox 中不起作用

c# - Firefox WebDriver (Selenium) 和安全警告弹出窗口

javascript - 如何正确使用innerHTML从html字符串创建一个元素(可能有子元素)?

java - XPath:帮助定位使用 HTMLUnit 抓取的 DOM 中的特定元素

javascript - TypeError : Handlebars. registerHelper 不是函数

javascript - 使用 `v-on` 被认为是不好的做法吗?

php - 如何在 PHP 文件执行期间调用 javascript 文件。

javascript - Selenium - 焦点和模糊在 Firefox 上随机失败

javascript - 自动填充不会触发 onChange