javascript - 如何使用 Chrome.storage Chrome 扩展程序保存数据 [MV2]
问题描述
我正在学习如何开发 Chrome 扩展程序,并且我希望有用户输入并能够保存该输入数据。刷新后,“数据”被删除。
我曾尝试使用本地和同步的 chrome.storage,但尚未成功。我也有很多教程。
背景.js
async function userName() {
try {
const userName = setName();
// Save the `image` object to chrome's local storage area
// under the `nextImage` key
console.log(userName);
chrome.storage.local.set({ userName: userName });
} catch (err) {
console.log(err);
}
}
main.js
const submit = document.querySelector("#submit");
submit.addEventListener("click", () => {
// Set Name
function userName(name) {
const username = document.querySelector("#username");
username.value = name;
}
});
console.log(userName());
// Retrieve the user name object
chrome.storage.local.get("userName", (data) => {
if (data.userName) {
userName(data.userName);
}
});
main.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Chrome Storage</title>
</head>
<body>
<h1>Chrome Storage</h1>
<input id="username" type="text" placeholder="Name">
<button id="submit" >Submit</button>
<p id="name"></p>
</body>
<script src="main.js"></script>
</html>
mainfest.json
{
"manifest_version": 2,
"name": "Chrome Storage",
"description": "Chrome storage",
"version": "1.0.0",
"permissions": [
"tabs",
"storage"
],
"browser_action" : {
"default_popup": "popup.html"
},
"chrome_url_overrides" : {
"newtab": "main.html"
},
"background": {
"scripts": ["background.js"],
"persistent": false
},
"content_scripts": [{
"css": ["style.css"],
"js": ["main.js"],
"all_frames": true,
"matches": ["http://*/*"]
}]
}
解决方案
推荐阅读
- javascript - 如何通过单击单元格更改颜色
- javascript - 如何清理 useEffect 函数?
- r - R while 在一天中的特定时间循环
- c - Mindstorms 的robotc **错误**:未定义的变量“sonarSensor”。假设为“短”
- sql - 不支持数据类型间隔 - Spark SQL
- javascript - 使用 JavaScript 动态生成 HTML 元素列表的最佳方法是什么?
- javascript - 在没有输入字段的情况下使用新复选框刷新 javascript 计算的总和
- c++ - MSVC2019 静态库中缺少符号名称
- android - 如何使用 ejabberd 聊天应用程序通过 API 层传递服务器
- sql - SQL Server CTE 层次结构查询聚合