我正在开发我的第一个 Firefox 扩展,为此我需要获得当前页面的完整源代码。我如何使用 XUL 做到这一点?
最佳答案
你需要一个 xul browser将内容加载到的对象。
将页面的“view-source:”版本加载到浏览器对象中,其方式与“View Page Source”菜单相同。请参阅 chrome://global/content/viewSource.js
中的函数 viewSource()。该函数可以从缓存中加载,也可以不加载。
内容加载后,原始来源由:
var source = browser.contentDocument.getElementById('viewsource').textContent;
序列化 DOM 文档
此方法不会得到原始出处,但可能对某些读者有用。
您可以将文档对象序列化为字符串。参见 Serializing DOM trees to strings在 MDC 中。您可能需要在扩展中使用替代的实例化方法。
那篇文章讨论的是 XML 文档,但它也适用于任何 HTML DOMDocument。
var serializer = new XMLSerializer();
var source = serializer.serializeToString(document);
这甚至适用于网页或 Firebug 控制台。
关于javascript - Firefox 扩展和 XUL : get page source code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2337889/