Google chrome extension 铬合金延长线—;无法从dom获取数据

Google chrome extension 铬合金延长线—;无法从dom获取数据,google-chrome-extension,Google Chrome Extension,最近我一直在开发一个chrome扩展 我已在devtools.js中成功获取$0 var backgroundPageConnection = chrome.runtime.connect({ name: 'devtools' }); backgroundPageConnection.onMessage.addListener(function (message) { // Handle responses from the background page, if any

最近我一直在开发一个chrome扩展

我已在devtools.js中成功获取$0

var backgroundPageConnection = chrome.runtime.connect({
    name: 'devtools'
});

backgroundPageConnection.onMessage.addListener(function (message) {
    // Handle responses from the background page, if any
    chrome.devtools.inspectedWindow.eval(`setSelectedElement($0)`, {
        useContentScriptContext: true
    });
});
但是,在contentscript.js中,我希望从$0获取数据

function setSelectedElement(el) {
    var widget = $(el).data("__widget__");
    // eval widget is null
    var id = $(el).attr("id");
    // eval id is string
}
简单地说,
data()
获取的所有内容都是空的

我很困惑,我可以通过
attr()
获取资料,但不能通过
data()

我是否缺少一些权限

这是manifest.json

{
    "name": "Export",  
    "manifest_version":2,
    "version": "4.0.1",  
    "description": "Export Json",
    "browser_action": {  
      "default_title": "Export",
      "default_popup": "popup.html"
    },
    "content_scripts": 
    [
        {
            "matches": ["<all_urls>"],
            "js": ["js/core.js", "js/contentscript.js"],
            "run_at": "document_end"
        }
    ],
    "background": {
        "scripts": ["js/background.js"]
    },
    "devtools_page": "devtools.html",
    "web_accessible_resources": ["js/inject.js"]
}
{
“名称”:“导出”,
“清单版本”:2,
“版本”:“4.0.1”,
“说明”:“导出Json”,
“浏览器操作”:{
“默认标题”:“导出”,
“默认弹出窗口”:“popup.html”
},
“内容脚本”:
[
{
“匹配项”:[“”],
“js”:[“js/core.js”,“js/contentscript.js”],
“运行时间”:“文档结束”
}
],
“背景”:{
“脚本”:[“js/background.js”]
},
“devtools_页面”:“devtools.html”,
“web可访问资源”:[“js/inject.js”]
}

说明和解决方案:要素是什么?数据是什么?@DanielMöller,这并不重要。这种差异是由孤立的内容脚本世界造成的,上面链接的答案对此进行了解释。@DanielMöller这是一个JSONObject@wOxxOm你的意思是我需要在inject.js中运行$(el).data()?