【发布时间】:2017-04-21 03:07:59
【问题描述】:
我试图在 Firefox 中编写一个简单的扩展,其中我修改了 X-Frame-Allow 标头。
我简要查看了文档,发现它们支持webRequest.onHeadersReceived.addListener()。但是,当收到标头时,我无法让我的代码运行。
manifest.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"]
}
]
}
xframeoptions.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 修改响应标头?
【问题讨论】:
-
当您尝试安装扩展程序和然后加载或重新加载网页?
-
我建议您阅读Anatomy of a WebExtension 页面(也许通过阅读从那里链接的页面)。它包含整体架构信息,有助于您了解事物的一般组织/完成方式。
标签: javascript firefox firefox-addon firefox-addon-webextensions