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?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage