Google chrome extension Chrome扩展无法访问DOM\uuuuuu数据\uuuuuuu?

Google chrome extension Chrome扩展无法访问DOM\uuuuuu数据\uuuuuuu?,google-chrome-extension,Google Chrome Extension,我正在尝试做一个浏览器扩展,从媒体统计页面下载我们的数据 在控制台中,我可以访问条形图中每个SVGrect的数据,以及它们的\uuuu data\uuuu属性。(我想是的) 但是在通过Chrome扩展注入的脚本中,我可以很好地读取DOM的其余部分,但是\uuuu data\uuuu属性是未定义的 (我尝试更改runAt属性,但没有任何效果) 我用一个简单的方法复制了这一点 Chrome扩展注入脚本是否无法访问连接到DOM的数据 有什么解决方法吗?内容脚本是孤立的,因此您需要。请注意,这是因为\

我正在尝试做一个浏览器扩展,从媒体统计页面下载我们的数据

在控制台中,我可以访问条形图中每个SVG
rect
的数据,以及它们的
\uuuu data\uuuu
属性。(我想是的)

但是在通过Chrome扩展注入的脚本中,我可以很好地读取DOM的其余部分,但是
\uuuu data\uuuu
属性是
未定义的

(我尝试更改
runAt
属性,但没有任何效果)

我用一个简单的方法复制了这一点

Chrome扩展注入脚本是否无法访问连接到DOM的数据


有什么解决方法吗?

内容脚本是孤立的,因此您需要。请注意,这是因为
\uuuuu data\uuuuuu
是expando属性,而不是属性。@wOxxOm完全正确。我只想补充一点:Chrome文档提到扩展脚本和页面脚本“共享DOM”,但在这种情况下,您可以将DOM视为一种共享状态,通过DOM对象(
元素
实例等)对其进行间接读/写访问。对这些DOM可见性对象的更改在扩展/页面边界上不可见,除非这些更改碰巧导致共享DOM状态的更改。对非DOM指定的expando属性的更改不会改变共享DOM状态。@wOxxOm谢谢。如果我理解正确的话,我将使用一个内容脚本插入代码——只是使用()(因为在真实版本中,我希望在按下弹出窗口中的按钮时实现它)。内容脚本是否可以访问expando属性?@apsillers我刚刚在发布上一条评论后看到了你的评论!我想现在已经有答案了。不可能…:(谢谢!这是可能的。您只需在内容脚本中插入一个
script
元素,其中包含访问expando属性的代码,并通过CustomEvent使用DOM消息将结果发送回内容脚本,如链接的答案所示。内容脚本是隔离的,因此您需要。注意,这是因为
\u数据__
是一个expando属性,而不是一个属性。@wOxxOm完全正确。我只想补充一点:Chrome文档提到扩展脚本和页面脚本“共享DOM”,但在这种情况下,您可以将DOM视为一种共享状态,通过DOM对象(
元素
实例等)对其进行间接读/写访问。对这些DOM可见性对象的更改在扩展/页面边界上不可见,除非这些更改碰巧导致共享DOM状态的更改。对非DOM指定的expando属性的更改不会更改共享DOM状态。@wOxxOm谢谢。如果我理解正确,我将使用内容脚本插入代码-仅使用()(因为在真实版本中,我希望在按下弹出窗口中的按钮时实现此操作)。内容脚本是否可以访问expando属性?@apsillers我刚刚在发布上一条评论后看到了您的评论!我想现在已经回答了。不可能…:(谢谢!这是可能的。您只需在内容脚本中插入一个
script
元素,其中包含访问expando属性的代码,并通过CustomEvent使用DOM消息将结果发送回内容脚本,如链接的答案所示。