Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 与谷歌Chrome互动';s存储API_Javascript_Google Chrome_Google Chrome Extension_Storage - Fatal编程技术网

Javascript 与谷歌Chrome互动';s存储API

Javascript 与谷歌Chrome互动';s存储API,javascript,google-chrome,google-chrome-extension,storage,Javascript,Google Chrome,Google Chrome Extension,Storage,我对JavaScript比较陌生,对Chrome扩展编程也比较陌生,我在与可以在浏览器中本地存储数据的存储API交互时遇到了一些问题。在仔细阅读了chrome.storage文档之后,我仍然无法将任何内容加载到存储中。到目前为止,我的代码分为两部分,第一部分是定义名称和选项卡的代码。它调用第二个函数,该函数应与存储器交互: var groupmaker=function(){ var$tabs=document.querySelector(“tabs-”); var$input=documen

我对JavaScript比较陌生,对Chrome扩展编程也比较陌生,我在与可以在浏览器中本地存储数据的存储API交互时遇到了一些问题。在仔细阅读了chrome.storage文档之后,我仍然无法将任何内容加载到存储中。到目前为止,我的代码分为两部分,第一部分是定义名称和选项卡的代码。它调用第二个函数,该函数应与存储器交互:

var groupmaker=function(){
var$tabs=document.querySelector(“tabs-”);
var$input=document.querySelector(“输入”);
chrome.tabs.query({windowId:chrome.windows.WINDOW\u ID\u CURRENT},函数(tabs){
setData($input.value,制表符)
$tabs.innerHTML=`${$input.value}`;
tabs.forEach(tab=>{
$tabs.innerHTML+=`
`;
});
$tabs.querySelector('h1')。addEventListener('click',toggleHidden);
});

};最后,我明白你想要什么

当您调用下面的行时,我想您希望
name
作为键,但是,它实际上使用
“name”
作为键,这意味着您的存储中将只有一个项,其键是
“name”

您需要使用的是
[name]
,这称为


请确认
name
不为空,并且您正在观看后台页面控制台。name不为空。你看后台页面控制台是什么意思?实际上,我不是在使用背景页。这就是问题所在吗?您应该在调用
console.log
的地方查看控制台。例如,若你们在后台页面调用它,你们应该打开后台页面,看看它的控制台是否有输出。至于如何调试后台页面:但我没有一个完整的后台页面,这是一个问题吗?你能解释一下背景页面是否有来自控制台的输出吗?请原谅我的无知,但是“tabs-”是一个有效的选择器吗?此外,正如Haibara Ai所述,函数在一个位置调用
setngetData
,在另一个位置调用
setData
。很抱歉不清楚!尽管如此,我如何检查以确保它正在将数据保存到我的数据库中?当我选中时,在inspect popup的应用程序选项卡下没有填充任何本地存储或会话存储。嘿,
chrome。存储与Web存储(本地存储或会话存储)不同。如果要查看
chrome.storage
中的内容,唯一的方法是调用
get
方法并输出它们;然而,如果你真的想使用网络存储,你需要直接使用它们,而不是
chrome.storage
great!这是有道理的。最后一个问题。。。经检查,它说每个项目超过了配额,我认为这意味着标签字符串太长。你知道我该怎么做吗。您可以声明权限2。事实上,如果不需要所有信息,您应该简化字符串,为什么不从
选项卡中检索必要的信息并保存它们呢?太好了。好啊有没有办法查看保存到我的表中的数据?我希望能够查看和跟踪那里发生的事情。
chrome.storage.local.set({ name: JSON.stringify(tabs) })
chrome.storage.local.set({ [name]: JSON.stringify(tabs) })