Я пытаюсь отправить HTML локально из расширения Chrome в div на активной вкладке. Я отправляю HTML через фоновый скрипт и получаю с помощью скрипта контента, введенного в активную вкладку.
Я заставил порт работать и протестировал различные простые текстовые сообщения. Раздел div также появляется, но он пустой, так как HTML не отправляется должным образом. Кто-нибудь знает, что не так с моим кодом?
фоновый скрипт:
chrome.runtime.onConnect.addListener(function(port) {
console.assert(port.name == "sidebar");
port.onMessage.addListener(function(msg) {
if (msg.command == "read_sidebar")
{
//var sidebarURL = chrome.extension.getURL("sidebar.html");
//console.log(sidebarURL);
var element = document.createElement('div');
element.id = "test";
$("test").load('sidebar.html');
port.postMessage({command: "load_sidebar", html: element.innerHTML})
}
else if (msg.command == "close_load") {
console.log("told to close load");
}
});
});
скрипт контента:
function loadSidebar() {
var port = chrome.runtime.connect({name: "sidebar"});
port.postMessage({command: "read_sidebar"});
port.onMessage.addListener(function(msg) {
if (msg.command == "load_sidebar")
{
console.log(msg.html);
document.getElementById("mySidebar").innerHTML= msg.html;
port.postMessage({command: "close_load"});
}
});
}