我一直在尋找如何實現這一點。我已經發現了一些文章最引人注目從Chrome擴展程序訪問當前選項卡DOM對象
Accessing Current Tab DOM Object from "popup.html"?
但是我很新的JavaScript和製作Chrome擴展,我已經進入了死衚衕。 我的猜測是沒有收到迴應,這就解釋了爲什麼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元素添加到彈出窗口?@GaurangTandon – Despertaweb 2016-11-16 10:42:00