Ich bin da jetzt nicht so fit, aber wer garantiert, dass der Zug in TEdgeBrowser.OnNavigationCompleted
nicht schon abgefahren ist, also auf Browser-Seite das DOMContentLoaded
schon bereits lange ausgelöst wurde?
Ich garantiere das nicht
So verwende ich das auch nicht und es war erst mal eine Idee, um den richtigen Zeitpunkt zum Auslesen zu finden.
Woran es liegt, kann man ja testen.
EdgeBrowser1.ExecuteScript('chrome.webview.postMessage(document.documentElement.outerHTML)');
Dann wird das Postmessage direkt aufgerufen. Kommt die Nachricht an? Wenn ja, ist es tatsächlich so, dass DOMContentLoaded schon aufgerufen wurde, bevor der Eventhandler in OnNavigationCompleted gesetzt werden konnte. Dann müsste man dem zuvorkommen oder das Event in Delphi abfangen. Würde ich dann genauer beschreiben.