我需要获取当前页面的html作为字符串加载,以便我可以操作它并稍后使用该信息。我需要在Firefox扩展中使用它,并且我在使其工作时遇到很多麻烦。
我最初尝试使用.outerHTML存储该值,我已经看到并在其他地方工作了。这是一个如何工作的例子:
var pageHTML = document.documentElement.outerHTML;
我也试着寻找当时我需要的作品,如下:
document.getElementById("header")
然而,这些似乎都没有访问HTML。我认为这是因为代码在浏览器中运行,而不是在文档本身。如何访问HTML'文档'从Firefox扩展程序的选项卡中加载的页面。
答案 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>";' });