我正在创建一个内部chrome扩展程序,该扩展程序从网页(SEO的刹车链接等)收集数据,但是出现了问题。我的原始脚本注入了js页面,这很棒,因为它有一个盒子并收集了需要的东西,唯一的问题是它不是一个Popup盒子,所以它无法正确关闭,等等。我现在有一个脚本,可以加载所有dom数据以及显示和操作数据的脚本。我唯一的问题是从文件中收集数据。
Manifest.json
{
"name": "",
"version": "1.2.4",
"manifest_version": 2,
"description": "",
"homepage_url": "",
"background": {
"scripts": [
"background.js",
"Returndocdata.js"
],
"persistent": true
},
"browser_action": {
"default_title": ""
},
"icons": { "16": "icon16.png" },
"permissions": [
"https://*/*",
"http://*/*",
"tabs"
],
"content_scripts": [
{
"matches": ["*://*/*"],
"run_at": "document_start",
"js": ["Returndocdata.js"]
}
]
}
background.js
chrome.browserAction.onClicked.addListener(function(tab, info) {
chrome.tabs.executeScript({file: 'Returndocdata.js'});
});
chrome.browserAction.onClicked.addListener(function(tab, info) {
chrome.browserAction.setPopup({popup: "inject.html"})
});
inject.html
<div id = "ContactDetails">
<input type="text" name="lname">
</div>
<script src="inject.js"></script>
Returndocdata.js
var all = document.getElementsByTagName("*");
console.log(all);
inject.js
这是需要returndocdata.js数据的文件,我需要一种方法来获取该数据并将其拉入其中,以保持格式(htmlcollection)
如果我将脚本包含在标题中,则此方法有效,但是由于未在网页本身上运行,因此它仅从弹出扩展名中返回数据。
这很可能是一件小事
Ta