火狐扩展如何获取扩展存储值
Firefox extension how to get extension storage value
我创建了一个临时的 Firefox 附加组件,它在单击图标时打开一个新选项卡。我使用了 link:
中提供的示例
https://github.com/mdn/webextensions-examples/tree/master/open-my-page-button
这工作正常,但新选项卡打开固定 URL。因此使用 link:
中提供的代码添加了一个首选项页面
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Implement_a_settings_page
现在我可以在扩展程序的首选项页面中保存一个 URL 并且保存的 URL 可以在扩展程序存储中进行验证,这是一张显示它的图片:
function openPage() {
browser.tabs.create({
url: "https://www.google.com"
});
}
browser.browserAction.onClicked.addListener(openPage);
function onError(error) {
console.log(`Error: ${error}`);
}
function onGot(item) {
let preference_url = "https://www.google.com";
if (item.preference_url) {
preference_url = item.preference_url;
}
browser.storage.local.set({ type : preference_url });
}
let getting = browser.storage.sync.get("preference_url");
getting.then(onGot, onError);
第三行我有 url: "https://www.google.com" 但我想使用扩展存储中的值。
因为你有 onGot(item)
功能。你应该给你的 preference_url
起一个便于追踪的名字。
如您所见,当您检查 [扩展存储] 时。 preference_url
存储在名为 type.
的 key 中
所以,您应该给它取一个像 preferred_URL
或其他名称以便于跟踪的名称。
function onGot(item) {
let preference_url = "https://www.google.com";
if (item.preference_url) {
preference_url = item.preference_url;
}
browser.storage.local.set({ "preferred_URL" : preference_url });
}
好的,在我们访问 preferred_URL
的 value
之前似乎需要做一些工作。
function openPage() {
// <...>.storage.local.get is an async function,
// we need wrap our function below it
browser.storage.local.get(['preferred_URL'], function(result) {
console.log(result);
browser.tabs.create({
// The key in result.key means the name of the "key" holding the value.
"url": result.preferred_URL
})
});
}
我创建了一个临时的 Firefox 附加组件,它在单击图标时打开一个新选项卡。我使用了 link:
中提供的示例https://github.com/mdn/webextensions-examples/tree/master/open-my-page-button
这工作正常,但新选项卡打开固定 URL。因此使用 link:
中提供的代码添加了一个首选项页面https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Implement_a_settings_page
现在我可以在扩展程序的首选项页面中保存一个 URL 并且保存的 URL 可以在扩展程序存储中进行验证,这是一张显示它的图片:
function openPage() {
browser.tabs.create({
url: "https://www.google.com"
});
}
browser.browserAction.onClicked.addListener(openPage);
function onError(error) {
console.log(`Error: ${error}`);
}
function onGot(item) {
let preference_url = "https://www.google.com";
if (item.preference_url) {
preference_url = item.preference_url;
}
browser.storage.local.set({ type : preference_url });
}
let getting = browser.storage.sync.get("preference_url");
getting.then(onGot, onError);
第三行我有 url: "https://www.google.com" 但我想使用扩展存储中的值。
因为你有 onGot(item)
功能。你应该给你的 preference_url
起一个便于追踪的名字。
如您所见,当您检查 [扩展存储] 时。 preference_url
存储在名为 type.
所以,您应该给它取一个像 preferred_URL
或其他名称以便于跟踪的名称。
function onGot(item) {
let preference_url = "https://www.google.com";
if (item.preference_url) {
preference_url = item.preference_url;
}
browser.storage.local.set({ "preferred_URL" : preference_url });
}
好的,在我们访问 preferred_URL
的 value
之前似乎需要做一些工作。
function openPage() {
// <...>.storage.local.get is an async function,
// we need wrap our function below it
browser.storage.local.get(['preferred_URL'], function(result) {
console.log(result);
browser.tabs.create({
// The key in result.key means the name of the "key" holding the value.
"url": result.preferred_URL
})
});
}