Chrome 扩展 - 保存设置
Chrome Extensions - Saving Settings
我正在构建我的第一个 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 用于插入设置的文本值以确保插入功能有效。我有一个用于硬编码文本集的按钮,然后是另一个尝试插入 "saved" 文本的按钮,该文本应该是 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 所做的相似,但我似乎无法让它工作。
如有任何想法,我们将不胜感激。
谢谢!
节省
chrome.storage.sync.set({ mytext: txtValue });
获得
chrome.storage.sync.get('mytext', function(data) {
yourTextArea.value = data.mytext;
});
我找到了一个新的库来调用 chrome 存储与 Promise,非常酷。
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))
我正在构建我的第一个 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 用于插入设置的文本值以确保插入功能有效。我有一个用于硬编码文本集的按钮,然后是另一个尝试插入 "saved" 文本的按钮,该文本应该是 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 所做的相似,但我似乎无法让它工作。
如有任何想法,我们将不胜感激。
谢谢!
节省
chrome.storage.sync.set({ mytext: txtValue });
获得
chrome.storage.sync.get('mytext', function(data) {
yourTextArea.value = data.mytext;
});
我找到了一个新的库来调用 chrome 存储与 Promise,非常酷。
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))