Jia*_*hou 7 google-chrome-extension chrome-extension-manifest-v3
我尝试访问chrome.storage.session内容脚本中存储的信息,但浏览器不断通知我“不允许从此上下文访问存储”,即使我启用了“存储”manifest.json
在后台脚本中获取一些数据后,我存储接收到的数据
chrome.storage.session.set({"data": data});
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试通过运行以下行在内容脚本中访问它时:
chrome.storage.session.get(["data"],function(data){console.log(data)})
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Uncaught TypeError: Cannot read properties of undefined (reading 'session')
Run Code Online (Sandbox Code Playgroud)
但是,当我在后台脚本中运行完全相同的命令时,我能够检索数据。
我还确保我在我的manifest.json. 为什么会发生这种情况?
非常感谢!
wOx*_*xOm 10
不允许从此上下文访问存储
正如文档所说, session默认情况下仅适用于受信任的上下文。
要在内容脚本中启用它,请从此类受信任的上下文中调用setAccessLevel,即在后台脚本或扩展页面(如操作弹出窗口或选项)中。
chrome.storage.session.setAccessLevel({ accessLevel: 'TRUSTED_AND_UNTRUSTED_CONTEXTS' });
Run Code Online (Sandbox Code Playgroud)
无法读取未定义的属性(读取“会话”)
此错误表明 的父级session未定义,即chrome.storage未定义,这种情况仅发生在以下情况下:
script元素中运行它或注入world: 'MAIN'.| 归档时间: |
|
| 查看次数: |
2763 次 |
| 最近记录: |