Я пытаюсь включить/выключить расширение моего прокси-хрома после закрытия с помощью chrome.local.storage. Кажется, это не работает, может ли кто-нибудь привести несколько примеров того, как заставить работать такой код?
Прямо сейчас мой pac-прокси работает и включается и выключается. Локальное хранилище, похоже, вообще не работает, но я следовал всем примерам на сайте developer.chrome. Это не работает.
var channels;
var ny;
function endvpn() {
// turn off vpn
var config = {
mode: "pac_script",
pacScript: {
data: "function FindProxyForURL(url, host) {\n" +
" if (host == 'google.com /*')\n" +
" return 'PROXY blackhole:80';\n" +
" return 'DIRECT';\n" +
"}"
}
};
chrome.storage.local.set({ny: false});
// change vpn button
document.getElementById("vpnbtn").innerHTML = "Start Vpn";
// turn off event lisner for endvpn and start event listner to go back to startvpn
document.getElementById('vpnbtn').removeEventListener('click', endvpn, false);
document.getElementById("vpnbtn").addEventListener("click", startvpn);
}
function startvpn() {
// turn on vpn
var config = {
mode: "pac_script",
pacScript: {
data: "function FindProxyForURL(url, host) {\n" +
" if (host == 'google.com /*')\n" +
" return 'PROXY blackhole:80';\n" +
" return 'PROXY 209.127.191.180:80';\n" +
"}"
}
};
chrome.storage.local.set({ny: true});
// change vpn button
document.getElementById("vpnbtn").innerHTML = "Stop Vpn";
// turn off event lisner for startvpn and start event listner to go back to endvpn
document.getElementById('vpnbtn').removeEventListener('click', startvpn, false);
document.getElementById("vpnbtn").addEventListener("click", endvpn);
}
var rez = chrome.storage.local.get(ny);
alert(rez);
// start at startvpn
document.getElementById("vpnbtn").addEventListener("click", startvpn);
Большинство API-интерфейсов в расширениях Chrome являются асинхронными. Смотрите документацию здесь. Вы можете предоставить обратный вызов в качестве второго аргумента функции get, где вы можете использовать переменную:
chrome.storage.local.get('ny', function(result){
alert(result.ny);
});
Ты лучший!