通过Firefox中的插件访问完全开发的dom

通过Firefox中的插件访问完全开发的dom,dom,firefox-addon,Dom,Firefox Addon,我需要查看一个页面的完全加载和开发的dom,也就是说,在我的客户加载我的页面后,我希望他们能够单击fire fox上的按钮,然后fire fox将向我发送完全开发的dom,以便我可以查看并查看那里发生了什么。 有人能帮我指出正确的方向吗?首先,您需要一个函数来知道DOM是否准备好了。许多Javascript框架提供的功能,但如果您需要纯js实现。 当DOM准备就绪时,用户可以单击按钮。 然后,您可以使用一个函数将DOM树序列化为字符串。由于Mozilla尚未实现加载和保存DOM,请阅读以了解您需

我需要查看一个页面的完全加载和开发的dom,也就是说,在我的客户加载我的页面后,我希望他们能够单击fire fox上的按钮,然后fire fox将向我发送完全开发的dom,以便我可以查看并查看那里发生了什么。
有人能帮我指出正确的方向吗?

首先,您需要一个函数来知道DOM是否准备好了。许多Javascript框架提供的功能,但如果您需要纯js实现。
当DOM准备就绪时,用户可以单击按钮。
然后,您可以使用一个函数将DOM树序列化为字符串。由于Mozilla尚未实现加载和保存DOM,请阅读以了解您需要什么。
现在,您可以将保存的DOM发送到Web服务

//代码主要来自链接的MDN文章
var req=新的XMLHttpRequest();
请求打开(“获取”chrome://passwdmaker/content/people.xml“,假);
请求发送(空);
var dom=req.responseXML;
var serializer=新的XMLSerializer();
var foStream=Components.classes[“@mozilla.org/network/file output stream;1”]
.createInstance(Components.interfaces.nsIFileOutputStream);
var file=Components.classes[“@mozilla.org/file/directory_service;1”]
.getService(组件.接口.属性)
.get(“ProfD”,Components.interfaces.nsILocalFile)//获取配置文件文件夹
file.append(“扩展名”);//扩展子目录
追加({5872365E-67D1-4AFD-9480-FD293BEBD20D})//您的扩展的GUID
file.append(“myXMLFile.xml”);//文件名
init(文件,0x02 | 0x08 | 0x20664,0)//写入、创建、截断
serializer.serializeToStream(dom,foStream,“”)//记住,dom是dom树
foStream.close();

希望这会有帮助

谢谢,伙计,我要玩它了,我会发回完整版本:)