阻止javascript执行并等待在UI中触发的事件

时间:2012-09-20 18:33:02

标签: javascript google-chrome-extension

我有一个方法,我想停止执行(不要返回),等待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中用户的输入修改它们,然后发送请求。根据文档,我假设我必须直接在方法中修改它并返回它。

1 个答案:

答案 0 :(得分:0)

我希望这能指出你正确的方向:

http://developer.chrome.com/trunk/extensions/webRequest.html上的文档说:

  

如果可选的opt_extraInfoSpec数组包含字符串'blocking'   (仅允许特定事件),处理回调函数   同步。这意味着请求被阻止,直到   回调函数返回。在这种情况下,回调可以返回一个   BlockingResponse确定了进一步的生命周期   请求。根据上下文,此响应允许取消或   重定向请求(onBeforeRequest),取消请求或   修改标题(onBeforeSendHeaders,onHeadersReceived)或   提供身份验证凭据(onAuthRequired)。

我的猜测是您可以指定“阻止”,然后从您的用户收集信息。