Einzelnen Beitrag anzeigen

herik

Registriert seit: 17. Okt 2007
Ort: Spitzkunnersdorf / Sachsen
15 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: auf EdgeBrowser.ExecuteScript warten

  Alt 27. Jun 2024, 10:48
gubbe ich bin dir sehr dankbar für deine Hilfe.

Zitat:
Es kann natürlich sein, dass das HTML im Browser noch durch Javascript abgeändert wird. Du fragst ja mit document.documentElement.outerHTML nicht den eigentlichen HTML-Quellcode an, der geladen wurde, sondern den aktuellen Stand zum Zeitpunkt der Ausführung. Wenn jetzt Javascript selbst auf das "onload" wartet und Daten nachlädt, sieht das Ergebnis einige Zeit später anders aus.
Ich denke mal das es genau das Problem ist. Und die Lösung die Du mir hier bietest ist mir sehr sympathisch!
Allerdings funktioniert es noch nicht wie es soll. Ich will mir ja auch nicht alles vorkauen lassen, aber ich habe wirklich keinen Plan von JavaScript. Deswegen kann ich es auch nicht wirklich nachvollziehen. Der Grundgedanke ist mir aber klar.

So bin ich jetzt vorgegangen:

Ich habe jetzt im Objectinspektor im EdgeBrowser1 "ONWebMessageReceived" mit deiner Procedure versehen.

Im "TForm2.EdgeBrowser1NavigationCompleted" habe ich folgende Zeile eingefügt.

EdgeBrowser1.ExecuteScript('document.addEventListener("DOMContentLoaded", (event) => { chrome.webview.postMessage(document.documentElement.outerHTML);});');
Eigentlich sollte ja jetzt nach dem die Webmessage kommt das Showmessage aktiv werden. Aber leider tut sich da nix.


Jetzt ist die Frage, ob die Message gesendet wird oder ich sie nicht empfange.
Erik
  Mit Zitat antworten Zitat