0

Ich erstelle eine Chrome-Erweiterung, die auf das DOM der Seite zugreift und den Wert einiger Eingaben abruft. Das Problem ist in der Seite, die ich den Wert eines Eingabetext in meinem content_script zugreifen möchte ich erhalten:chromextension Erhalte den Wert der generierten Eingabe

Kann nicht Eigentum ‚val‘ von null

lesen, weil die Eingänge erzeugt werden dynamisch aus einer js-Datei, die ich nicht ändern kann.

i gab: „run_at“: „document_end“ in meinem Manifest-Datei und im Content-Skript ich die Seite warten voll

window.addEventListener("load", function load(event){ 
    window.removeEventListener("load", load, false); //remove listener, no longer needed 

    // $("input[name$='incident.state']").val(); 

    var element =$('#incident.state').val(); 
    alert(element); 


},false); 
+0

Verwenden Sie [den Debugger] (https://developer.chrome.com/devtools/docs/tips-and-tricks): Legen Sie einen Haltepunkt in dieser Zeile fest und untersuchen Sie die Seitenquelle im Bedienfeld "Elemente". Stellen Sie außerdem sicher, dass Sie jQuery vor Ihr Inhaltsskript injizieren. – wOxxOm

+0

Ich habe die jquery bereits zu meinem Content-Skript hinzugefügt – Lizinh

Antwort

0

Da Sie, dass die Eingänge dynamisch generiert werden erwähnt geladen werden, es möglicherweise noch nicht vorhanden, wenn onload Ereignis ausgelöst wird. Wenn Sie nicht möchten, dass setTimeout das Abrufen des Elements verzögert, können Sie MutationObserver verwenden, um auf Änderungen im DOM zu reagieren, z. B. observing the input being inserted.

Verwandte Themen