我试图在 Firefox 中编写一个简单的扩展,其中我修改了X-Frame-Allow
header.
我简单地查看了文档,发现它们支持webRequest.onHeadersReceived.addListener()
。但是,当收到标头时,我无法运行我的代码。
清单.json
{
"manifest_version": 2,
"name": "xframeoptions",
"version": "1.0",
"description": "Set X-Frame-Options to ALLOW",
"icons": {
"48": "icons/icon.png"
},
"permissions": [
"webRequest",
"webRequestBlocking",
"<all_urls>"
],
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["xframeoptions.js"]
}
]
}
x 框架选项.js
function rewriteHeader(e) {
console.log(e.responseHeaders);
for (var header of e.responseHeaders) {
console.log(header.name + ":" + header.value);
if (header.name == "X-Frame-Options") {
header.value = 'ALLOW';
modified = true;
break;
}
}
return {responseHeaders: e.responseHeaders};
}
console.log("Initializing xframeoptions extension ...test");
browser.webRequest.onHeadersReceived.addListener(
rewriteHeader,
{urls: ['<all_urls>']},
["blocking", "responseHeaders"]
);
如何通过 Firefox 的 WebExtensions 修改响应标头?