ith*_*han 5 javascript firefox firefox-addon fetch
我目前正在开发 Firefox/chrome 的扩展,需要从另一个网站获取一些数据。
该扩展似乎在 Chrome 中运行良好,但是,在尝试从 Firefox 中尝试该扩展时,我收到“尝试获取资源时出现网络错误”。
如果我从控制台执行代码,它工作得很好,问题仅来自扩展。
服务器上启用了 CORS,您知道问题的根源是什么吗?
服务端相关代码:
router.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
if (req.headers.authorization !== '***') {
return res.status(403).json({ error: 'Unauthorized request' });
}
next();
});
Run Code Online (Sandbox Code Playgroud)
客户端相关代码:
fetch('https://host:port/api/somepath', {
headers: new Headers({
Authorization: '*****',
}),
})
.then(....
Run Code Online (Sandbox Code Playgroud)
火狐浏览器错误:
错误:类型错误:尝试获取资源时出现网络错误
扩展清单权限:
"permissions": ["storage", "activeTab", "declarativeContent","webRequest", "webRequestBlocking", "webNavigation"],
Run Code Online (Sandbox Code Playgroud)
该"<all_urls>"权限允许您访问某人访问的每个网站,这是多余的。您需要为 Firefox 添加的只是您尝试在获取中调用的 URL(例如,"https://host:port/api/somepath"在您的示例中)
生成的扩展清单权限:
"permissions": [
"storage",
"activeTab",
"declarativeContent",
"webRequest",
"webRequestBlocking",
"webNavigation",
"https://host:port/api/somepath"
],
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9558 次 |
| 最近记录: |