使用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来查看所有元素。