我正在尝试构建我的第一个webextension,但在Web请求方面遇到了一些麻烦。当我执行AJAX请求(或者实际上是任何请求)时,它不会显示在“网络”选项卡中。
我正在查看应用程序的网络选项卡和插件调试窗口中的网络选项卡。
$.ajax({
url: 'https://steamcommunity.com/market/sellitem/',
type: 'POST',
data: {
// data here
},
crossDomain: true,
xhrFields: { withCredentials: true }
}).done(function (data) {
// handler here
}).fail(function (jqxhr) {
// handler here
});
如果我在“fail”分支中点击断点并检查jqxhr变量,我可以看到请求以400结尾,但我真的希望能够比较网络选项卡中的请求以找出问题所在。
编辑1:我在manifest.json中的权限:
"permissions": [
"*://steamcommunity.com/market/*",
"webRequest"
],
答案 0 :(得分:0)
我对browser_action
弹出窗口触发的请求进行了一些测试,当我从“about:debugging”页面使用“Debug”控制台时,请求没有显示。
我不确定为什么,如果这是故意的或是一个错误,就像你一样,我希望网络调用能够登录到调试控制台。
但是,我设法通过打开整个浏览器工具箱来查看我的插件弹出窗口中发出的请求,该工具箱未绑定到您的特定扩展程序(这意味着您还会看到其他插件的输出)。
您可以通过Tools > Web developer > Browser toolbox
菜单打开它。在那里,您可以看到从扩展程序触发的请求:
注意:issue 1410357 on bugzilla似乎与此行为有关