Firefox扩展中的XMLHttpRequest
XMLHttpRequest in Firefox Extension
我正在编写一个firefox扩展,并希望从服务器加载数据。但是当我尝试用:
初始化XMLHttpRequest时var request = new XMLHttpRequest();
错误控制台显示:
ReferenceError: XMLHttpRequest is not defined
我必须包括一些东西,或者为什么XMLTttpRequest不被识别?
Add-on SDK(您通过Add-on Builder间接使用)提供了一个request
包,本质上是XMLHttpRequest
的包装器,您应该使用它。据我所知,如果在执行请求时卸载/禁用附加组件,您不会直接访问XMLHttpRequest
以防止问题。
要使用XMLHttpRequest构造函数,您应该添加XPCOM组件构造函数:
const XMLHttpRequest = Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1", "nsIXMLHttpRequest");
之后:
// some code
var req = new XMLHttpRequest();
// some code
关于MDN的更多信息
似乎vladimir的答案对大多数这种情况都是有用的。但还有一种情况
我发现tris页面试图在Firefox 16下解决这个错误的问题。很奇怪,但是我从来没有在firefox15下看到过这个错误。
我在一些页面的内容脚本中出现了此错误。脚本在开始时被注入:
contentScriptWhen : "start",
看起来在某些情况下窗口对象没有正确初始化。所以,我只是从头到尾改变了脚本加载。对我来说,这是可能的。问题已经解决了……
我不知道为什么会出现,但我知道解决方案,希望对某人有用。
相关文章:
- XMLHttpRequest未返回值-状态202
- XMLHttpRequest在移动设备上的chrome上不起作用
- AJAX简单错误.XMLHttpRequest无法加载http://localhost/mpl/getPage.php.
- 检查xmlhttprequest问题的消息
- 主线程上的同步XMLHttpRequest已弃用
- 如何定期发出xmlhttprequest
- javascript第三个XMLHttpRequest被拒绝.但前两个是允许的
- 上传带有XMLHttprequest的文件-多部分/表单数据中缺少边界
- 对象#<XMLHttpRequest>没有方法'完成'
- 在XMLHttpRequest之后重新初始化jQuery
- 如何将GreaseMonkey中的XMLHttpRequest延迟到目标页面加载完成
- Javascript XMLHttpRequest——只有第一个POST请求有效
- XMLHttpRequest - difference between Chrome & Firefox
- IE上的新XMLHttpRequest()出现JS Ajax未指定错误
- 非常简单的XMLHttpRequest不起作用
- 如何使用XMLHttpRequest下载文件
- XMLHttpRequest在$.ajax工作的地方给出了CORS错误
- XMLHttpRequest.open()AJAX中的参数url
- XMLHTTPRequest脚本中没有internet连接和超时
- 为什么当async标志设置为false时,xmlhttprequest中的代码可以工作,而当它设置为true时却不能工作