Chrome Erweiterung Neue Registerkarte erstellen und Nachricht von popup.js an das Inhaltsskript der neuen Registerkarte senden
Ich entwickle eine Chrome-Erweiterung, bei der mein popup.js eine Nachricht von einem Inhaltsskript auf der aktuellen Seite empfängt und ein Array erstellt. Dann erstellt popup.js auf Knopfdruck eine neue Registerkarte (auf der ein Inhaltsskript ausgeführt wird) und sendet diesem Inhaltsskript eine Nachricht mit dem Array.
Meine popup.js:
//this message is sent from a different content script (for current page), not shown here
chrome.runtime.onMessage.addListener(function(request, sender) {
if (request.action === "getSource") {
var arr = JSON.parse(request.source);
//create new tab
chrome.tabs.create({url: "newtab.html"}, function(tab){
//send message to new tab
chrome.tabs.sendMessage(tab.id{
action: "getDataArray",
source: JSON.stringify(arr)
});
}
});
newtab-contentscript.js:
$(document).ready( function() {
chrome.runtime.onMessage.addListener(function(request, sender) {
if (request.action === "getDataArray") {
$("#result").html(JSON.parse(request.source));
}
});
newtab.html:
<script src="newtab-contentscript.js"></script>
Problem: Die newtab-contentscript.js scheint die Nachricht nie zu erhalten.
Sind die Fehler bei der Erstellung eines Tabs oder beim Senden der Nachricht. Haben Sie Vorschläge zur Behebung dieses Problems?