gpt4 book ai didi

javascript - 如何在使用存储关闭 chrome 扩展弹出窗口后保留更改

转载 作者:行者123 更新时间:2023-11-30 19:41:00 25 4
gpt4 key购买 nike

我正在尝试创建一个使用弹出窗口的待办事项列表 chrome 扩展程序,用户可以在其中输入文本(他们的待办事项列表项)并将其添加到列表中。我能够添加和删除列表项并对弹出窗口进行更改,但我想保存他们的数据,这样当他们关闭并打开弹出窗口时,他们的待办事项列表项目仍然存在。我不太确定如何去做,因为我是 javaScript 和 chrome 扩展的新手。我相信您需要使用存储,但我不太确定如何实现它。

popup.html

<div class="container">
<h2 class="title">Add Items</h2>
<form id="addForm">
<input type="text" id="item">
<input type="submit" value="Submit">
</form>
<h2 class="title">List</h2>
<ul id="items" class="list-group">
<li class="list-group-item">
<button class="delete">X</button>
Click X button to delete item, type item in submit bar to add item
</li>
</ul>
</div>

popup.js

var form = document.getElementById('addForm');
var itemList = document.getElementById('items');

//form submit event
form.addEventListener('submit', addItem);
//delete event
itemList.addEventListener('click', removeItem);

//add item
function addItem(e) {
e.preventDefault();

//create delete button element
var deleteBtn = document.createElement('button');

//add classes to btn
deleteBtn.className = "delete";

//append text node
deleteBtn.appendChild(document.createTextNode('X'));

//get input value
var newItem = document.getElementById('item').value;

//create li element
var li = document.createElement('li');

//add class
li.className = 'list-group-item';

//append button to li
li.appendChild(deleteBtn);

//add text node with input value
li.appendChild(document.createTextNode(newItem));

//append li to list
itemList.appendChild(li);

savaData();

}

//remove item
function removeItem(e) {
if (e.target.classList.contains('delete')) {
var li = e.target.parentElement;
itemList.removeChild(li);
}
}

最佳答案

您必须将数据保存在存储器中。尝试 localStorage因为它易于使用。

您可以将它与 JSON.stringify(<object-here>) 结合使用和 JSON.parse(<string-here>)保存对象。

例子:

var my_data = {...};

// Save them
localStorage.setItem('my_date', JSON.stringify(my_data));

// Load them
my_data = JSON.parse(localStorage.getItem('my_date'));

您必须在页面加载时从 localStorage 加载它们,并在每次更改数据时存储它们。

关于javascript - 如何在使用存储关闭 chrome 扩展弹出窗口后保留更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55408374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com