Javascript Chrome扩展-保存设置

Javascript Chrome扩展-保存设置,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我正在构建我的第一个Chrome扩展。这是一件非常简单的事情,我现在正试图去做,这样我就可以试着去理解它是如何工作的,并以此为基础进行构建 不管怎样,我现在想做的是,我有一个扩展按钮,可以打开一个带有文本区域的页面。我希望用户能够在此文本框中输入文本,并将其保存以供以后调用(下次打开Chrome时,无论他们在该文本框中输入什么,我都希望永久保留该值,除非他们将其保存) 我的textareaid=test1 这是我的JavaScript function saveSettings() {

我正在构建我的第一个Chrome扩展。这是一件非常简单的事情,我现在正试图去做,这样我就可以试着去理解它是如何工作的,并以此为基础进行构建

不管怎样,我现在想做的是,我有一个扩展按钮,可以打开一个带有文本区域的页面。我希望用户能够在此文本框中输入文本,并将其保存以供以后调用(下次打开Chrome时,无论他们在该文本框中输入什么,我都希望永久保留该值,除非他们将其保存)

我的textareaid=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

可以工作的插入函数

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

    });
});
尝试将键入并保存的值插入TEXTAREA字段的insert函数不起作用

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;
});
我找到了一个新的库,称之为chrome storage with Promise,非常酷


我没有看到任何代码来检索保存的值?此外,
chrome.storage.sync.set
接受一个JSON对象,而不是一个简单的字符串值:最后一组代码有一个insertText(txtValue)。txtValue应该是保存的值。我在JSON文件的权限中有存储空间。我应该添加其他内容吗?抱歉,朋友,您现在还不太了解存储系统-我建议进行更多的研究。例如,看看这个:我会在今天早上或明天尝试一下。谢谢只需添加:使用
chrome.storage
需要
manifest.json
中的
storage
权限:我可以这样设置所有值吗?@Unnikrishnan您可以设置所有值
import { scope } from 'chrome-call'

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