Google chrome extension 铬合金延长线—;无法从dom获取数据
最近我一直在开发一个chrome扩展 我已在devtools.js中成功获取$0Google 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
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()?