Google chrome extension 为什么chrome.storage会给我[Object]?
我制作了一个chrome扩展,用于管理internet历史记录、浏览器cookie等。如果您一周内没有运行它,我会尝试发出通知,因此我使用Google chrome extension 为什么chrome.storage会给我[Object]?,google-chrome-extension,local-storage,Google Chrome Extension,Local Storage,我制作了一个chrome扩展,用于管理internet历史记录、浏览器cookie等。如果您一周内没有运行它,我会尝试发出通知,因此我使用chrome.storage在您使用扩展时保存时间戳 这是我的密码: (回调是一个空函数) 当我测试这个时,它给了我: [object Object] 为什么这段代码给我的是这个,而不是我保存的时间戳?JSON类型 与chrome中的扩展一样,chrome.storage仅支持JSON兼容类型: 数字,但不是BigInt 弦 布尔值true和fa
chrome.storage
在您使用扩展时保存时间戳
这是我的密码: (回调是一个空函数)
当我测试这个时,它给了我:
[object Object]
为什么这段代码给我的是这个,而不是我保存的时间戳?JSON类型
与chrome中的扩展一样,chrome.storage仅支持JSON兼容类型:
- 数字,但不是
BigInt
- 弦
- 布尔值
和true
false
但不null
未定义
- 由上述简单类型组成的对象/数组
- 可以嵌套
- 不能有循环自引用
- 键必须是字符串,而不是
Symbol
- 不受支持的部分将被剥离,因此复杂类型将产生
{}
这些将存储为
{}
要查看实际存储的内容,请在代码或devtools控制台中运行以下命令:
console.log(JSON.parse(JSON.stringify(obj)))
可能的解决办法
Store Date.now()是一个数字:
chrome.storage.local.set({key:Date.now()})
要重新创建日期,请执行以下操作:
chrome.storage.local.get('key',data=>{
日志(新日期(data.key));
})
媒体对象的替代方案
- 转换为数据URI字符串
- 转换为ArrayBuffer并存储在IndexedDB中
注意:不要在console.log中使用
+
连接字符串和对象。像这样使用,
:console.log('值设置为',现在)
如何存储MediaStream对象?派生自navigator.mediaDevices.getUserMedia({video:true})异步返回无法存储的MediaStream objectStreams,但可以将内容提取为数据URI或ArrayBuffer。
chrome.storage.local.get(["key"], function(result) {
alert (result.key)
});
[object Object]