Chrome扩展程序-无法从dom获取数据

时间:2018-07-21 09:31:12

标签: 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.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"]
}

0 个答案:

没有答案