Tôi có một phần mở rộng chrome. tôi cần phân tích từ nguồn HTML của trang hiện tại. Tôi đã tìm thấy ở đây tất cả các loại giải pháp với các trang nền và tập lệnh nội dung nhưng không có giải pháp nào giúp được tôi. đây là những gì tôi có cho đến nay:
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);
}
});
Cảnh báo luôn cảnh báo không xác định. ngay cả khi tôi thay đổi trong tệp content.js hàm gọi lại thành:
callback('hello');
vẫn là kết quả tương tự. Tôi đang làm gì sai? có lẽ tôi đang đi sai cách. whay tôi thực sự cần là cái này. Khi người dùng mở cửa sổ bật lên tiện ích mở rộng (và chỉ sau đó), tôi cần HTML của trang hiện tại để có thể phân tích nó. bất kỳ đề xuất?