【发布时间】:2011-09-05 18:20:31
【问题描述】:
所以我正在构建一个自定义的 firefox 扩展,
我的问题是,如果我想使用此扩展程序将有关当前页面上的图像的信息发送到远程服务器,我将如何编写 javascript 以便它可以获取当前文档中的图像?
一般来说,您如何从附加到自定义 firefox 扩展的 javascript 访问当前页面/文档中的任何 HTML 内容?
【问题讨论】:
标签: javascript firefox firefox-addon
所以我正在构建一个自定义的 firefox 扩展,
我的问题是,如果我想使用此扩展程序将有关当前页面上的图像的信息发送到远程服务器,我将如何编写 javascript 以便它可以获取当前文档中的图像?
一般来说,您如何从附加到自定义 firefox 扩展的 javascript 访问当前页面/文档中的任何 HTML 内容?
【问题讨论】:
标签: javascript firefox firefox-addon
如果您的扩展程序在浏览器覆盖中加载其 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 查看所有元素。
【讨论】: