Прокси для вкладок в расширении Google Chrome

613
10 мая 2017, 09:04

Здравствуйте. Пытаюсь написать плагин для Хрома. Нужно подключить прокси для определенных страниц. Перечитал доку хрома. В итоге получилось применить прокси для самого popup.html(окно плагина), но никак не для вкладок. Подскажите, пожалуйста, что я делаю не так? На данном этапе должна получиться очень сырая версия этого плагина.

manifest.json

{
    "manifest_version": 2,
    "name": "ProxyTest",
    "version": "0.1",
    "icons": {
        "128": "icon.png"
    },
    "permissions": [
        "tabs",
        "http://*/*",
        "https://*/*",
        "proxy"
    ],
    "content_scripts": [
        {
            "matches": [ "*://*/*" ],
            "js": [
                "static/JS/jquery.min.js",
                "static/JS/content.js"
            ]
        }
    ],
    "background": {
        "scripts": ["static/JS/index.js"]
    },
    "browser_action": {
        "default_title": "test",
        "default_icon": "icon.png",
        "default_popup": "index.html"
    },
    "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
}

content.js

$(document).ready(function () { 
    console.log("test"); 
    var config = { 
        mode: "fixed_servers", 
        rules: { 
            proxyForHttp: { 
                scheme: "socks5", 
                host: "*.*.*.*", 
                port: 65234 
            }, 
            bypassList: ["foobar.com"] 
        } 
    }; 
 
    chrome.proxy.settings.set( 
        {value: config, scope: 'regular'}, 
        function () {} 
    ); 
 
    $.get('http://ip-api.com/json/', function (data, status) { 
        alert(JSON.stringify(data)); 
    }) 
 
});

Когда этот код выполняется на вкладках(не в popup.html) в консоле видна ошибка:

Uncaught TypeError: Cannot read property 'settings' of undefined
    at HTMLDocument.<anonymous> (content.js:20)
    at j (jquery.min.js:2)
    at k (jquery.min.js:2)
(anonymous) @ content.js:20
j @ jquery.min.js:2
k @ jquery.min.js:2
READ ALSO
JQuery дочерние элементы

JQuery дочерние элементы

Всем привет, есть такой список, мне нужно чтобы при нажатии на определенный элемент, он открывал дочерний подпункт а не все сразу

267
Как корректно ограничить область Drag&#39;n&#39;Drop?

Как корректно ограничить область Drag'n'Drop?

Есть маленький div внутри большого divЧерез JS применен Drag'n'Drop к малому div

199
JS, отслеживание изменений в DIV

JS, отслеживание изменений в DIV

Доброго времени суток

462
express-session/passport/socketio

express-session/passport/socketio

Всем приветЕсть такая задача : 1

328