答案 0 :(得分:4)
因为JavaScript代码模块没有正常的浏览器上下文,所以我有时通过传入window
,document
或任何与我需要的对象相关的对象来解决这个问题(例如,传入当您调用模块内部构建的方法时,window
或FormData
对象。)
但是,我发现某人已经提出了这种担忧,并且有办法绕过它:https://bugzilla.mozilla.org/show_bug.cgi?id=672690#c4
var formData = Components.classes["@mozilla.org/files/formdata;1"]
.createInstance(Components.interfaces.nsIDOMFormData);
我相信你总能找到这样的类/接口等价的浏览器上下文项,除非你需要获取特定的window
或document
。