gpt4 book ai didi

javascript - 无法从 Firefox 中的加载项访问浏览器本地存储

转载 作者:行者123 更新时间:2023-11-28 04:45:54 26 4
gpt4 key购买 nike

我使用 id.js 文件使用以下代码在内存中存储了一个数组:

var ids = ["a", "b"];
var obj= {};
var loc = '0';
obj[loc] = ids.toString();
browser.storage.local.set(obj);
browser.storage.local.get(loc,function(result){
console.log(result);
//console output = {v1:'s1'}
})

在插件上我有一个 html 文件:

<!DOCTYPE html>

<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="popup.css"/>


</head>

<body>

<button class="download">Download</button>
<script type="text/javascript" src="popup.js"></script>
</body>

</html>

和 popup.js 为:

Components.utils.import("resource://gre/modules/Console.jsm");

var downloadBtn = document.querySelector('.download');
downloadBtn.addEventListener('click', downloadUser);

function downloadUser() {
browser.storage.local.get("ids",function(result){
var filename = "ids.txt";
var text = result;
alert(text);
var pom = document.createElement('a');
pom.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
pom.setAttribute('download', filename);

if (document.createEvent) {
var event = document.createEvent('MouseEvents');
event.initEvent('click', true, true);
pom.dispatchEvent(event);
}
else {
pom.click();
}

})
}

from popup.js 用于从内存中获取数据然后下载。但其中没有任何作用。

这是 list 文件:

{
"manifest_version": 2,
"name": "AAA",
"version": "1.0",
"icons": {
"48": "icons/border-48.png"
},

"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["id.js", "popup.js"]
}
],

"permissions": [
"storage"
],


"browser_action": {
"default_icon": {
"48": "icons/border-48.png"
},
"default_title": "Id",
"default_popup": "popup.html"
}

}

最佳答案

您使用以下方式设置本地存储:

var loc = '0';
obj[loc] = ids.toString();
browser.storage.local.set(obj);

这意味着 ids 的键是 0。您应该使用 0 作为 key 来获取它:

browser.storage.local.get({0:""},function(result){
alert(JSON.stringify(result));
}
<小时/>

如果你想使用ids作为key,你应该这样设置:

obj["ids"] = ids.toString();
browser.storage.local.set(obj);

并通过以下方式获取:

browser.storage.local.get({ids:""},function(result){
alert(JSON.stringify(result));
}

关于javascript - 无法从 Firefox 中的加载项访问浏览器本地存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43370001/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com