繁体   English   中英

chrome.storage.local.set不在本地保存数据[重复]

[英]chrome.storage.local.set doesn't save data locally [duplicate]

这个问题已经在这里有了答案:

我正在尝试构建一个Chrome扩展程序,其中必须在本地存储一些数据。 下面给出的代码是我的popup.html,我不明白为什么它不设置本地存储中的值。 我的manifest.json具有“存储”和“标签”权限。

<script type="text/javascript">
function save() {
  var username = document.getElementById('username').value;
  var password = document.getElementById('password').value;
  chrome.storage.local.set({'username': username}, function(){});
  chrome.storage.local.set({'password': password}, function(){}); 
}
</script>
Roll Number
<input type="text" name="username" id="username"></input>
Password
<input type="password" name="password" id="password"></input>
<button onclick="save()" type="submit" name="submit">Save</button>

这是我的manifest.json文件。

{
  "manifest_version": 2,

  "name": "Autologin",
  "description": "Blah bhla.",
  "version": "1.0",
  "permissions": [
    "http://xxxxxxxxxxxxx/*",
    "storage"
  ],
  "content_scripts": [
    {
      "matches": ["http://xxxxxxxxxxxxx/*"],
      "js": ["autologin.js"]
    }
  ],
  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "autologin.html"
  }
}

您需要通过创建popup.js将脚本部分移出html并将其包含在html中。

popup.js中

function save() {
  var username = document.getElementById('username').value;
  var password = document.getElementById('password').value;
  chrome.storage.local.set({
   'username': username ,
   'password': password
  }, function(){});

}

document.getElementByName("submit").onclick=save;

popup.html中

<script src=popup.js></script> <script>...</script>替换为<script src=popup.js></script>

manifest.json中

"default_popup": "popup.html" //the name of your popup html file

试试这个,对我有用

var dataObj = {}; dataObj[username] = username; dataObj[password] = password; chrome.storage.local.set(dataObj, function() {});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM