我正在尝试制作Chrome扩展程序设置页面,但它无效

时间:2017-06-26 01:37:31

标签: javascript html google-chrome-extension

以下是我需要帮助的代码:

if (localStorage.KillTabs == undefined) {
  localStorage.KillTabs = 1;
};
if (document.getElementById('killer')) {
  if document.getElementById('killer').checked = true {
    localStorage.KillTabs = 0;
  }
}
if (localStorage.KillTabs == 1) {
  console.log("Cannot Clear Tabs");
} else {
  console.log("Clearing Tabs...")
  //im going to put something here when i know that this works
}
}
<html>

<head>
  <script src="options.js"></script>
</head>

<body>
  <h1>PrivacyPro Options</h1>
  <input type="checkbox" id="killer">
  <p class="label">Close All Tabs when done</p>
</body>

</html>

我认为我做得对,但我不确定。我没有看到任何错误。我还希望设置保存,就像选中复选框一样我希望它保存,因此每次运行扩展时,设置都会激活,并且只有在未选中复选框时才会激活。任何帮助都会很好,谢谢!

1 个答案:

答案 0 :(得分:0)

您错误地使用了storage界面。它是chrome.storage而不是localStorage(即使在浏览器中它也是localstorage,全部小写)。

为了使用storage接口,您需要确保在manifest.json文件中请求存储权限。

"permissions": [
  "storage"
],

接下来,您需要在存储对象上使用get()set()方法来获取和设置基于密钥的值。这也使用回调机制,因此您不能通过调用get()来获取值。

chrome.storage.local.get('killtabs', function(result) {
  if (result === 1) {
    // do something
  }
});