如何在Firefox扩展中将页面的html作为字符串获取?

时间:2014-12-02 03:32:32

标签: javascript html firefox firefox-addon-sdk

我需要获取当前页面的html作为字符串加载,以便我可以操作它并稍后使用该信息。我需要在Firefox扩展中使用它,并且我在使其工作时遇到很多麻烦。

我最初尝试使用.outerHTML存储该值,我已经看到并在其他地方工作了。这是一个如何工作的例子:

var pageHTML = document.documentElement.outerHTML; 

我也试着寻找当时我需要的作品,如下:

document.getElementById("header")

然而,这些似乎都没有访问HTML。我认为这是因为代码在浏览器中运行,而不是在文档本身。如何访问HTML'文档'从Firefox扩展程序的选项卡中加载的页面。

1 个答案:

答案 0 :(得分:2)

Firefox插件SDK包含一个名为page-mod的模块,用于此目的。在page-mod下运行的内容脚本将在网页的上下文中运行,而不是典型的沙盒上下文。

从该页面的文档:

  

您可以在脚本中修改文档:

var pageMod = require("sdk/page-mod");

pageMod.PageMod({ include: "*.mozilla.org",
                  contentScript: 'document.body.innerHTML =' +
                                 '"<h1>Page matches ruleset</h1>";' 
});
相关问题