2016-06-08 17 views
0

Erweiterungen :: uncaught_exception_handler: 8 Fehler in Ereignishandler für (unbekannt): Typeerror: nicht Eigentum ‚Abschied‘ lesen kann undefiniertenEmpfangen Fehler beim Versuch Nachricht an background.js weitergeben müssen:

Background.js:

chrome.runtime.onMessage.addListener(function(message,sender,sendResponse){ 
if(message[message.length - 1] === true) 
    { 
     var AFArray = message; 
     sendResponse({farewell: AFArray}); 
    } 
if(message === "request") 
    { 

     sendResponse({farewell:"TEsting!"}); 
    }}); 

Inhalt Drehbuch:

function AFCopy() 
{ 
    var AFArrayCount = 0; 
    var AFArray = []; 
    //cycle over classes and apply label to array. 
    while(AFArrayCount <4) 
     { 
      if(document.getElementsByClassName("_xd6")[AFArrayCount]) 
       { 
        AFArray[AFArrayCount] = document.getElementsByClassName("_xd6")[AFArrayCount].getAttribute("LABEL"); 

        AFArrayCount++; 
       } 

     } 
    //assign copy signature 
    AFArray.push(true); 
    //test array is constructed correctly 
    console.log(AFArray); 

    //send array to background.js 
    chrome.runtime.sendMessage({greeting: AFArray}, function(response) { 
    console.log(response.farewell);}); 
} 

Diese Funktion auf ein onClick-Ereignis ausgeführt wird.

+0

Auch sein versucht. Das hat nicht so gut funktioniert. –

Antwort

2

Die message Sie senden ist: {greeting:AFArray} und dieses Objekt ist, was Ihr Hörer empfängt.

Daher macht message[message.length - 1] wenig Sinn.

Es sollte die if-Anweisungen innerhalb der background.js mit einfach nur „sendresponse ({“ Test „});“ zu ersetzen, so etwas wie message.greeting[message.greeting.length - 1]

Verwandte Themen