在JS中通过Chrome扩展程序保存和读取数据

简单的任务。用户可以在Google chrome扩展程序内部输入其登录表单,然后单击按钮-登录,然后我应该将该登录名保存到存储中。下次,当用户打开扩展名时,登录名应出现在输入中。用户可以通过输入新的登录结束单击按钮来更改它。问题在于getchanges没有收到任何东西。

HTML:

<!doctype html>
<html>
    <head>      
        <script src="jquery.min.js" type="text/javascript"></script>
    </head>
    <body>      
        <input type="text" id="login" placeholder="login">
        <button id="doLogin">Login</button>          
        <script src="popup.js"></script>  
    </body>
</html>

popup.js:

document.getElementById("doLogin").addEventListener("click",doLogin);

var extratedLogin= getchanges('myLogin');
$('#login').val(extratedLogin);

function getchanges(name) {  
    chrome.storage.local.get(name,function(result) {
      console.log('myLogin= '+JSON.stringify(result));
      return result.key;
    });
}

function saveChanges(name,value) {   
    chrome.storage.local.set({name: value},function() { 
        console.log('Settings saved for '+ name);
    });
}
function doLogin(){
    //do something
    saveChanges('myLogin',$('#login').val());
}

manifest.json:

"permissions": ["storage",...]
a305069347 回答:在JS中通过Chrome扩展程序保存和读取数据

错误是语法。这是正确的保存和加载

window.onload = function() {
        chrome.storage.local.get(['mylogin'],function(items) {
            console.log('Settings retrieved ',items);
            $('#login').val(items['mylogin']); 
        });
    }      

    function doLogin(){          
        chrome.storage.local.set({'mylogin': $('#login').val()},function() { 
            console.log('Fields data was saved.');
        });
    }
本文链接:https://www.f2er.com/3158201.html

大家都在问