Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 设置chrome代理设置表单扩展_Javascript_Google Chrome Extension - Fatal编程技术网

Javascript 设置chrome代理设置表单扩展

Javascript 设置chrome代理设置表单扩展,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我为代理服务器开发了一个chrome扩展。 我将IP和端口设置为chrome设置后,通过API获取服务器(和it授权数据)列表: connect: function(proxyData, callback) { this.setListener(proxyData); chrome.proxy.settings.set( { value: { mode: "fixed_servers",

我为代理服务器开发了一个chrome扩展。 我将IP和端口设置为chrome设置后,通过API获取服务器(和it授权数据)列表:

connect: function(proxyData, callback) {

    this.setListener(proxyData);
    chrome.proxy.settings.set(
        {
            value: {
                mode: "fixed_servers",
                rules: {
                    singleProxy: {
                        scheme: "http",
                        host: proxyData.ip,
                        port: parseInt(proxyData.port)
                    },
                }
            },
            scope: 'regular'
        },
        function() {
            if (typeof callback === 'function') {
                callback(proxyData);
            }
        }
    );
}
之后,我添加自动化侦听器:

setListener: function(proxyData) {
    let username = proxyData.username,
        password = proxyData.password;
    this.proxyAuthFunction = function(details, callbackFn) {
        console.log(username, password, 'Init proxy auth function');
        callbackFn({authCredentials: { username: username, password: password}});
    };
    if (chrome.webRequest.onAuthRequired.hasListener(this.proxyAuthFunction)) {
        chrome.webRequest.onAuthRequired.removeListener(this.proxyAuthFunction);
    }
    chrome.webRequest.onAuthRequired.addListener(
        this.proxyAuthFunction,
        {urls: ["<all_urls>"]},
        ["asyncBlocking"]
    );
}
setListener:函数(proxyData){
让username=proxyData.username,
password=proxyData.password;
this.proxyAuthFunction=函数(详细信息,callbackFn){
log(用户名、密码、'Init proxy auth function');
callbackFn({authCredentials:{username:username,password:password}});
};
if(chrome.webRequest.onAuthRequired.hasListener(this.proxyAuthFunction)){
chrome.webRequest.onAuthRequired.removeListener(this.proxyauth函数);
}
chrome.webRequest.onAuthRequired.addListener(
此.proxyauth函数,
{URL:[“”]},
[“异步阻塞”]
);
}
它不起作用,而且浏览器要求基本授权

但硬代码工作良好,浏览器不要求基本授权:

setListener: function(proxyData) {
    let username = 'qwerty',
        password = 'qwerty';
    this.proxyAuthFunction = function(details, callbackFn) {
        console.log(username, password, 'Init proxy auth function');
        callbackFn({authCredentials: { username: username, password: password}});
    };
    if (chrome.webRequest.onAuthRequired.hasListener(this.proxyAuthFunction)) {
        chrome.webRequest.onAuthRequired.removeListener(this.proxyAuthFunction);
    }
    chrome.webRequest.onAuthRequired.addListener(
        this.proxyAuthFunction,
        {urls: ["<all_urls>"]},
        ["asyncBlocking"]
    );
}
setListener:函数(proxyData){
让username='qwerty',
密码='qwerty';
this.proxyAuthFunction=函数(详细信息,callbackFn){
log(用户名、密码、'Init proxy auth function');
callbackFn({authCredentials:{username:username,password:password}});
};
if(chrome.webRequest.onAuthRequired.hasListener(this.proxyAuthFunction)){
chrome.webRequest.onAuthRequired.removeListener(this.proxyauth函数);
}
chrome.webRequest.onAuthRequired.addListener(
此.proxyauth函数,
{URL:[“”]},
[“异步阻塞”]
);
}
有没有人遇到过类似的问题