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