Я искал вокруг, как это сделать. Я нашел несколько статей, прежде всегоДоступ к текущей вкладке Объект DOM из расширения Chrome
Accessing Current Tab DOM Object from "popup.html"?
Однако я очень новичок в JavaScript и делая расширения хрома и я ударил в тупик. Я предполагаю, что ответ не получен, что объясняет, почему document.write("Hellp")
не работает. Любая помощь, чтобы исправить это, будет оценена по достоинству.
У меня есть три основные файлы
manifest.json
{
"name": "My First Extension",
"version": "1.0",
"description": "The first extension that I made.",
"browser_action":
{
"default_icon": "icon.png",
"popup": "popup.html"
},
"permissions":
[
"tabs"
],
"content_scripts":
[{
"matches": ["<all_urls>"],
"js": ["dom.js"]
}]
}
popup.html
<html>
<body>
</body>
<script>
chrome.tabs.getSelected(null, function(tab)
{
// Send a request to the content script.
chrome.tabs.sendRequest(tab.id, {action: "getDOM"}, function(response)
{
document.write("Hello");
document.write(response.title)
});
});
</script>
</html>
dom.js
chrome.extension.onRequest.addListener(function(request, sender, sendResponse)
{
if (request.action == "getDOM")
sendResponse({dom: document.getElementsByTagName("body")[0]});
else
sendResponse({}); // Send nothing..
});
На самом деле, объекты DOM не могут быть отправлены, потому что они не являются JSON-сериализуемыми (https://developer.chrome.com/extensions/messaging#simple). – 2015-12-20 08:32:12
Итак, как мы можем получить элементы DOM во всплывающем окне[email protected] – Despertaweb 2016-11-16 10:42:00