我有一个方法,我想停止执行(不要返回),等待UI触发的事件,然后继续该方法。
chrome.webRequest.onBeforeSendHeaders.addListener(
function(details) {
var newHeaders;
//I need to stop here, wait on some user event, update the `newHeaders` variable with
//the content set by the user on the page
return {requestHeaders:newHeaders};
},
{urls: ["<all_urls>"]},
["blocking", "requestHeaders"]
);
我在做什么:开发一个intercepts requests的chrome插件,通过html中用户的输入修改它们,然后发送请求。根据文档,我假设我必须直接在方法中修改它并返回它。
答案 0 :(得分:0)
我希望这能指出你正确的方向:
http://developer.chrome.com/trunk/extensions/webRequest.html上的文档说:
如果可选的opt_extraInfoSpec数组包含字符串'blocking' (仅允许特定事件),处理回调函数 同步。这意味着请求被阻止,直到 回调函数返回。在这种情况下,回调可以返回一个 BlockingResponse确定了进一步的生命周期 请求。根据上下文,此响应允许取消或 重定向请求(onBeforeRequest),取消请求或 修改标题(onBeforeSendHeaders,onHeadersReceived)或 提供身份验证凭据(onAuthRequired)。
我的猜测是您可以指定“阻止”,然后从您的用户收集信息。