使用Firefox扩展JavaScript从

问题描述:

当前页面

获得的图像,所以我建立一个自定义Firefox扩展,使用Firefox扩展JavaScript从

我的问题是,如果我要发送的信息有关,它是当前页面上的远程服务器中的图像使用这个扩展,我该如何编写JavaScript,以便它可以获取当前文档中的图像?

一般来说,您如何访问附加到自定义Firefox扩展的JavaScript中当前页面/文档中的任何HTML内容?

如果您的扩展在浏览器覆盖区中加载其JavaScript代码,则它可以访问全局gBrowser变量(<tabbrowser> tag)。要访问当前选择的选项卡中加载的文档,请使用gBrowser.contentDocument。要获取所有图像的URL:

var images = gBrowser.contentDocument.getElementsByTagName("img"); 
var urls = []; 
for (var i = 0; i < images.length; i++) 
    urls.push(images[i].src); 

请注意,这只会给你<img>标签。你不会得到像<input type="image">这样的东西,你不会得到在CSS样式表中定义的图像。如果你想要一个更完整的列表,你应该看看页面信息对话框如何实现它:http://hg.mozilla.org/mozilla-central/file/2bb8c0b664cf/browser/base/content/pageinfo/pageInfo.js#l614。正在调用函数processFrames()中的所有元素的函数,该函数使用TreeWalker来查看所有元素。