Chrome扩展程序-保存设置

ubby3x7f  于 6个月前  发布在  Go
关注(0)|答案(1)|浏览(48)

我正在构建我的第一个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;
}

字符串
为了测试的目的,我有一个addEventValue用于插入一个设置的文本值,以确保插入函数的工作。我有一个按钮用于硬编码的文本集,然后另一个按钮试图插入“保存”的文本,这应该是var txtValue。
工作的插入函数

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所做的,但我似乎无法让它工作。
任何想法将不胜感激。
谢谢你,谢谢

7cwmlq89

7cwmlq891#

保存

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

字符串
得到

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


我发现了一个新的库来调用Chrome存储与承诺,相当酷。
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))


更多信息:https://developer.chrome.com/docs/extensions/reference/storage/

相关问题