gpt4 book ai didi

javascript - Chrome 扩展程序 - 保存设置

转载 作者:行者123 更新时间:2023-12-03 23:47:46 25 4
gpt4 key购买 nike

我正在构建我的第一个 Chrome 扩展程序。这是我目前正在尝试做的一件非常简单的事情,因此我可以尝试了解它的工作原理并以此为基础。

无论如何,我现在要做的是我有一个扩展按钮,可以打开一个带有 TEXTAREA 的页面。我希望用户能够在此文本区域框中输入文本并将其保存以供以后调用(此设置也需要在下次打开 Chrome 时再次调用,无论他们输入此文本框我想保留什么除非他们将其保存下来,否则该值将永久保存)。

我的 TEXTAREA id=test1

这是我的 JavaScript

function saveSettings() {
var storage = chrome.storage.sync;

// Get signature value from text box
var txtValue = test1.value;

// Save using Chrome storage API
storage.set(txtValue, function() {
console.log("Saved");
});
}

function insertText(text) {
document.getElementById("test1").value= text;
}

出于测试目的,我有一个 addEventListener 用于插入设置的文本值以确保插入功能有效。我有一个用于硬编码文本集的按钮,然后是另一个按钮来尝试插入应该是 var txtValue 的“已保存”文本。

WORKS 的插入功能
document.addEventListener('DOMContentLoaded', function() {
var temp = document.getElementById('template');
temp.addEventListener('click', function() {
insertText('Hard Coded Text');
message('Template Inserted');

});
});

不工作的插入函数试图将键入的值插入并保存到 TEXTAREA 字段中。
document.addEventListener('DOMContentLoaded', function() {
var link = document.getElementById('insert');
link.addEventListener('click', function() {
insertText(txtValue);
message('Saved Text Inserted');

});
});

我不确定我做错了什么。我查看了一堆不同的示例,其中大多数与我使用 storage.sync 所做的类似,但我似乎无法让它工作。

任何想法将不胜感激。

谢谢!

最佳答案

保存

chrome.storage.sync.set({ mytext: txtValue });

要得到
chrome.storage.sync.get('mytext', function(data) {
yourTextArea.value = data.mytext;
});

我找到了一个用 Promise 调用 chrome storage 的新库,非常酷。

https://github.com/Selection-Translator/chrome-call
import { scope } from 'chrome-call'

const storage = scope('storage.local')
storage('get', 'flows').then(data => initFlows(data.flows))

关于javascript - Chrome 扩展程序 - 保存设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28277312/

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