2013-05-17 234 views
6

我试图拦截铬扩展中的代理授权。 继答案在这里:Domain Authorization in Chrome Extension和阅读文档here我的代码看起来是这样的:chrome.webRequest.onAuthRequired监听器

chrome.webRequest.onAuthRequired.addListener(
    function(details, callbackFn) { 
     console.log("onAuthRequired!", details, callbackFn); 
     //callback({ 
     // authCredentials: {username: "1", password: "__TestUse"} 
     //}); 
    }, 
    {urls: ["<all_urls>"]} 
); 

的问题是,callbackFn是不确定,但应该是一个功能。

任何人都有一些想法,为什么callbackFn是未定义的。当我阅读文档我正在做的正确..

回答

9

该代码的作品,我只是忘了添加另一个参数['asyncBlocking']。 此代码正常工作:

chrome.webRequest.onAuthRequired.addListener(
    function(details, callbackFn) { 
     console.log("onAuthRequired!", details, callbackFn); 
     callbackFn({ 
      authCredentials: {username: "1", password: "__TestUser"} 
     }); 
    }, 
    {urls: ["<all_urls>"]}, 
    ['asyncBlocking'] 
);