Google chrome extension 如何在Chrome开发工具中查看/编辑localStorage和IndexedDB数据
我正在开发一个大量使用IndexedDB的Chrome扩展。我目前正在将工作从使用清单版本2(MV2)迁移到清单版本3(MV3) 在MV2中,后台页面通过Google chrome extension 如何在Chrome开发工具中查看/编辑localStorage和IndexedDB数据,google-chrome-extension,google-chrome-devtools,service-worker,indexeddb,Google Chrome Extension,Google Chrome Devtools,Service Worker,Indexeddb,我正在开发一个大量使用IndexedDB的Chrome扩展。我目前正在将工作从使用清单版本2(MV2)迁移到清单版本3(MV3) 在MV2中,后台页面通过窗口访问IndexedDB。IndexedDB,运行正常,我可以通过打开后台页面的Chrome开发工具查看IndexedDB数据,并导航到应用程序>存储>IndexedDB 在MV3中,后台页面需要迁移到相应的服务工作者。服务人员使用self.indexedDB(因为窗口不可用),并且它似乎工作正常(即,向数据库写入和读取数据似乎工作正常)。但
窗口访问IndexedDB。IndexedDB
,运行正常,我可以通过打开后台页面的Chrome开发工具查看IndexedDB数据,并导航到应用程序>存储>IndexedDB
在MV3中,后台页面需要迁移到相应的服务工作者。服务人员使用self.indexedDB
(因为窗口不可用),并且它似乎工作正常(即,向数据库写入和读取数据似乎工作正常)。但是,当我打开服务人员的DevTools时(从chrome://extensions/ 然后单击所讨论的扩展的“Inspect views:Service worker”),即使在控件单击IndexedDB并选择“Refresh IndexedDB”之后,在IndexedDB下也看不到任何数据
本地存储似乎也存在同样的问题。DevTools for localStorage中没有显示任何内容,尽管我可以在服务人员中成功地执行以下操作:
chrome.storage.local.set({"a_key": "some_value"}, function() {
console.log('setting the key-value pair');
});
setTimeout(checkMyValue, 1000);
function checkMyValue()
{
chrome.storage.local.get(["a_key"], function(result) {
console.log('The value is ' + result["a_key"]);
});
}
它将某些值打印到控制台
所以基本上,我想我要问的是:为什么DevTools不为我的MV3 Chrome扩展显示服务工作者的IndexedDB或localStorage数据
(Chrome版本是90.0.4430.93(官方版本)(x86_64)。这是在macOS Big Sur上,如果这有什么区别的话…我提交了一个功能请求,要求在中实现它,以便您可以单击星号来提高报告的重要性,并通知进度
当前的解决方法是在扩展的任何UI页面上打开devtools:
- 弹出/选项-只需在页面内单击鼠标右键并选择“检查”
- 通过chrome扩展名://URL打开扩展名文件的任何选项卡,例如,您可以手动复制粘贴URL,如
chrome扩展名://**id**/manifest.json
,其中**id**
是您可以在中看到的扩展名idchrome://extensions 在右上角启用“开发者模式”开关后的页面
请注意,与此无关,这是一件完全不同的事情。
请参阅。我在中提交了一个功能请求以实现它,这样您就可以单击星号来提高报告的重要性,并收到进度通知
当前的解决方法是在扩展的任何UI页面上打开devtools:
- 弹出/选项-只需在页面内单击鼠标右键并选择“检查”
- 通过chrome扩展名://URL打开扩展名文件的任何选项卡,例如,您可以手动复制粘贴URL,如
chrome扩展名://**id**/manifest.json
,其中**id**
是您可以在中看到的扩展名idchrome://extensions 在右上角启用“开发者模式”开关后的页面
请注意,与此无关,这是一件完全不同的事情。
看