我试图创建一个Chrome扩展程序,该扩展程序利用Chrome的webRequest模块执行重定向到从最初访问的URL获取的URL。为此,我只想使用Chrome的webRequest函数(例如,onBeforeSendHeaders,onHeadersReceived),而不是简单地使用获取的URL执行对$ .ajax()的调用。所希望的功能是:收到回复后使用Chrome浏览器网址转发网址
- 用户在地址栏中输入URL
- 的请求是由与二次URL被从HTTP响应
- 萃取chrome.webRequest.onHeadersReceived处理程序使用用户重定向到该二次URL阻塞响应的redirectUrl属性。
我在完成这个尝试是:
chrome.webRequest.onHeadersReceived.addListener(
function(details){
var secondaryURL = extractSecondaryURL(details);
return {redirectUrl: secondaryURL}; //this doesn't work
},
{urls:["http://*/*", "https://*/*"]},
["blocking","responseHeaders"]
);
...但页面不会被转接。 webRequest文档说:“仅用于响应onBeforeRequest事件。”关于redirectUrl属性,这是可能的罪魁祸首。
如何使用从响应头和Chrome webRequest模块接收的数据执行此类转发?
“onHeadersReceived”中的'redirectUrl'已请求https://code.google.com/p/chromium/issues/detail?id=280464。请明星问题! –