Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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 让其他扩展处理代理设置_Javascript_Google Chrome_Google Chrome Extension - Fatal编程技术网

Javascript 让其他扩展处理代理设置

Javascript 让其他扩展处理代理设置,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我需要为一组特定的URL设置代理。chrome.proxy允许传递绕过列表,但不允许传递白名单(模式仅允许某些请求通过代理) 以下代码适用于我的情况(使用pac脚本): 但问题是,我的许多用户使用其他扩展,如Proxy Sharp或Omega Proxy来处理他们的代理需求。如果我使用上述代码,当他们试图更改这些其他扩展中的选项时,他们会看到“另一个扩展正在处理代理设置” 由于我只需要几个URL就可以通过代理,有没有办法让其他扩展处理不匹配URL的代理设置?根据,您只能有以下两种方法之一: 单

我需要为一组特定的URL设置代理。
chrome.proxy
允许传递绕过列表,但不允许传递白名单(模式仅允许某些请求通过代理)

以下代码适用于我的情况(使用pac脚本):

但问题是,我的许多用户使用其他扩展,如Proxy Sharp或Omega Proxy来处理他们的代理需求。如果我使用上述代码,当他们试图更改这些其他扩展中的选项时,他们会看到“另一个扩展正在处理代理设置”

由于我只需要几个URL就可以通过代理,有没有办法让其他扩展处理不匹配URL的代理设置?

根据,您只能有以下两种方法之一:

  • 单个固定代理服务器
  • 用于处理使用哪个代理的脚本
但你不能同时拥有这两个或两个

您最好尝试成为配置代理的最后一个扩展,获取代理设置并尝试将它们全部转换为单个PacScript代理

TL;DR:如果您不想更改用户的其他代理设置,则不可能

var config = {
    mode: "pac_script",
    pacScript: {
        data: "function FindProxyForURL(url, host) { if (shExpMatch(url, '*get_with_proxy*')) return 'PROXY 127.0.0.1:8888'; return DIRECT }"
    }
};
chrome.proxy.settings.set({ value: config, scope: 'regular' },
    function() {});