Chrome扩展程序 - 保存设置

13

我正在开发我的第一个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,用于插入一组文本值以确保插入函数有效。我有一个按钮用于硬编码的文本集合,然后另一个按钮尝试插入“保存”的文本,这应该是变量txtValue。

有效的插入函数

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

    });
});

插入函数尝试将输入并保存在文本区域字段中的值插入,但未能工作。

document.addEventListener('DOMContentLoaded', function() {
    var link = document.getElementById('insert');
    link.addEventListener('click', function() {
        insertText(txtValue);
    message('Saved Text Inserted');

    });
});

我不确定我做错了什么。 我查看了很多不同的示例,大多数示例类似于我使用的storage.sync,但似乎无法使其工作。

非常感谢您的任何想法。

谢谢!


1
我没有看到检索保存值的任何代码? - Dan Smith
3
此外,chrome.storage.sync.set方法需要传入一个 JSON 对象,而不是一个简单的字符串值。具体请参考:https://developer.chrome.com/extensions/storage。 - Dan Smith
我的JSON文件中有权限存储。我需要添加其他内容吗? - user2783652
抱歉,朋友,你现在还没有真正理解存储系统 - 我建议你进行更多的研究。例如,看看这个:https://dev59.com/U2Uq5IYBdhLWcg3wY_ka - Dan Smith
一开始看起来非常混乱。感谢提供链接,经过几次阅读,那似乎是我想要做的事情。我需要进行更多测试。感谢提供链接,希望这能让我走上正确的轨道。 - user2783652
显示剩余2条评论
1个回答

27

1
我会在今天早上或明天尝试一下。谢谢! - user2783652
6
补充一点:使用chrome.storage需要在manifest.json中添加storage权限:https://developer.chrome.com/extensions/storage - Anton Tarasenko
我可以像这样设置所有值吗? - Unnikrishnan
1
@Unnikrishnan,您可以设置所有值。 - zsubzwary
请参考以下链接,了解有关Chrome扩展存储的详细信息: https://developer.chrome.com/docs/extensions/reference/storage/ - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接