ฉันมีนามสกุลโครเมี่ยม ฉันต้องการวิเคราะห์จากซอร์ส HTML ของหน้าปัจจุบัน ฉันพบวิธีแก้ปัญหาทุกประเภทที่มีหน้าพื้นหลังและสคริปต์เนื้อหา แต่ไม่มีใครช่วยฉันเลย นี่คือสิ่งที่ฉันมีจนถึงตอนนี้:
manifest.json:
{
"name": "Extension",
"version": "1.0",
"description": "Extension",
"browser_action": {
"default_icon": "bmarkred.ico",
"popup": "Test.html"
},
"content_scripts": [
{
"matches": ["http://*/*"],
"js": ["content.js"]
}
],
"background": {
"page": "backgroundPage.html"
},
"permissions": [
"cookies",
"tabs",
"http://*/*",
"https://*/*"
]
}
background.html:
<html>
<head>
<script type="text/javascript">
try {
chrome.tabs.getSelected(null, function (tab) {
chrome.tabs.sendRequest(tab.id, {action: "getSource"}, function(source) {
alert(source);
});
});
}
catch (ex) {
alert(ex);
}
</script>
</head>
</html>
content.js:
chrome.extension.onRequest.addListener(function(request, sender, callback) {
if (request.action == "getSource") {
callback(document.getElementsByTagName('html')[0].innerHTML);
}
});
การแจ้งเตือนจะแจ้งเตือนเสมอโดยไม่ได้กำหนด แม้ว่าฉันจะเปลี่ยนในไฟล์ content.js ฟังก์ชันเรียกกลับเป็น:
callback('hello');
ยังคงได้ผลลัพธ์เหมือนเดิม ผมทำอะไรผิดหรือเปล่า? บางทีฉันอาจจะไปผิดทาง ฉันต้องการสิ่งนี้จริงๆ เมื่อผู้ใช้เปิดป๊อปอัปส่วนขยาย (และเท่านั้น) ฉันต้องการ HTML ของหน้าปัจจุบันเพื่อที่ฉันจะได้วิเคราะห์ ข้อเสนอแนะใด ๆ ?