将新标头添加到iframe
add new header to iframe
如何为每个传出请求添加一个新的头,只为受信任的请求添加
chrome.webRequest.onBeforeSendHeaders.addListener(function(details){
var headers = details.requestHeaders;
console.log("=========BEFORE==========");
console.log(headers);
headers.push({
name: "CSRF",
value: "CSRFTOKEN"
});
console.log("=========AFTER==========");
console.log(headers);
},
{urls: [ "*://*.example.com/*" ]},['requestHeaders']);
甚至将此标头也添加到iframe
var attr ={"src":"http://example.com/test.php"};
var s = zen.utils.createElement(document,"iframe",attr);
document.body.appendChild(s);
这是一个示例test.php文件,它打印所有的头
<?php
$header=array_merge(getallheaders(),apache_response_headers());
print_r($header);
阅读文档。重点矿:
如果可选的
opt_extraInfoSpec
数组包含字符串'blocking'
(只允许用于特定事件),则会同步处理回调函数。这意味着在回调函数返回之前,请求将被阻止。在这种情况下,回调可以返回一个
webRequest.BlockingResponse
,用于确定请求的下一个生命周期。根据上下文的不同,此响应允许取消或重定向请求(onBeforeRequest
)、取消请求或修改标头(onBeforeSendHeaders
、onHeadersReceived
)或提供身份验证凭据(onAuthRequired
)。
因此,要修改标题,您需要:
-
声明您要修改请求;必须阻止请求,直到您做出反应。您需要将
"blocking"
添加到API调用中。 -
您需要特殊权限
"webRequestBlocking"
才能执行此操作。将其添加到清单中。 -
您需要从回调中返回修改后的头。
chrome.webRequest.onBeforeSendHeaders.addListener( function(details){ var headers = details.requestHeaders; /* ..modify headers.. */ return { requestHeaders : headers }; }, { urls: [ "*://*.example.com/*" ] }, [ 'blocking', 'requestHeaders' ] );
相关文章:
- iframe正在添加标签,需要删除它们
- 如何使用Angular动态添加iframe-src
- 在iframe中加载url并添加一个类
- 如果在iframe中查看页面,如何在Wordpress中添加body类
- 是否可以添加<脚本>添加'_someTag'到iFrame中的URL
- 如何使用javascript(或jQuery)将youtube视频添加到iframe(基于web的RTE)
- 如何将事件侦听器添加到跨域iframe中的元素中
- 精彩弹出窗口 - 向 iframe 添加其他类
- 通过 JS 向现有 Iframe 添加新元素
- 无法通过iframe添加cookie
- fancybox-为iframe添加类以进行造型
- 如何使用jquery为文档中的所有iframe添加onclick事件
- 根据Iframe的ID,为Fancybox2-AJAX调用的Iframe添加URL
- 用javascript为iframe添加样式
- 为没有正文的iframe添加CSS
- 如何将iframe添加到getElementById
- 如何使用firefox扩展将iframe添加到content / DOM
- 如何向iframe添加事件侦听器
- 如何使用javascript从父级向iFrame添加样式表
- 向iframe添加内容