代理 Chrome 存储

Proxy Chrome Storage

我正在尝试让我的代理 chrome 扩展在使用 chrome.local.storage 关闭后保持 on/off。这似乎不起作用,任何人都可以举例说明如何使这种代码工作吗?

现在我的 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);

Chrome 扩展中的大多数 API 都是异步的。请参阅文档 here。您可以提供回调作为 'get' 函数的第二个参数,您可以在其中使用变量:

chrome.storage.local.get('ny', function(result){
  alert(result.ny);
});