【发布时间】:2016-10-17 12:20:17
【问题描述】:
我在编写 Firefox WebExtension 插件时遇到问题。以下代码不返回任何数据(responseText 为空),即使请求状态等于 4。在 Chrome 中,一切都运行良好。
我什至在 Fiddler 上进行了检查,我可以看到请求已处理(并且我们得到了响应)但看起来 Firefox 无法读取它?
var xhr = new XMLHttpRequest();
xhr.open('GET', "http://pi.com//", true);
xhr.withCredentials = true;
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xhr.send(null);
xhr.onreadystatechange = processRequest;
function processRequest(e) {
if (xhr.readyState == 4) {
console.log(xhr.responseText);
}
};
我真的不知道为什么 Firefox 没有填充 responseText。我已经在不同的网站上查过了,但到处都是一样的。
【问题讨论】:
-
这是您实际请求的页面吗? How is your extension set up?
-
你的扩展有什么权限?
-
请edit 成为主题的问题:包括一个完整 minimal reproducible example 重复该问题。通常,包括一个manifest.json、一些后台和内容脚本。寻求调试帮助的问题(“为什么这段代码不工作?”)必须包括:►期望的行为,►特定问题或错误和►必要的最短代码重现它在问题本身。没有明确问题陈述的问题对其他读者没有用处。请参阅:“如何创建 minimal reproducible example”、What topics can I ask about here? 和 How to Ask。
-
Browser Console(Ctrl-Shift-J,或 OSX 上的 Cmd-Shift-J)中确切地显示了什么?网络监视器是否显示请求/响应?
-
之所以需要minimal reproducible example,是因为我们想提供帮助。如果我们不必重新创建复制问题所需的所有代码,那么提供帮助会要容易得多。这是您已经拥有的代码。因此,请帮助我们为您提供帮助并提供一个完整 minimal reproducible example 以重复此类问题的问题。如果没有minimal reproducible example,甚至开始帮助您所需的努力量很多更高,这显着减少了愿意/能够帮助您的人数。即使我们付出了额外的努力,我们也必须猜测您可能遇到的问题的很大一部分。
标签: javascript google-chrome-extension firefox-addon firefox-addon-webextensions