Hallo Leute,
ich werde das Probieren und hoffe das funktioniert:
Um das "Webseite Verlassen"-Fenster abzufangen, das in der TWebView-Komponente von Winsoft.sk auftreten kann, müssen Sie verstehen, dass es sich um ein JavaScript-basiertes Ereignis handelt. Dieses Fenster wird normalerweise durch das `window.onbeforeunload`-Ereignis in JavaScript ausgelöst, welches eine Warnung anzeigt, wenn ein Benutzer versucht, die Seite zu verlassen[1][2].
### Abfangen des "Webseite Verlassen"-Fensters in TWebView
Da TWebView auf der Microsoft WebView2
API basiert[7], können Sie JavaScript-Ereignisse abfangen und darauf reagieren. Hier sind einige Schritte, wie Sie dieses Ereignis in Ihrer Anwendung behandeln können:
1. **JavaScript-Ereignis erkennen**: Implementieren Sie JavaScript in Ihrer Webseite, um das `onbeforeunload`-Ereignis zu überwachen. Dies könnte so aussehen:
Delphi-Quellcode:
window.onbeforeunload = function() {
return 'Möchten Sie die Seite wirklich verlassen?'
};
2. **Ereignishandler in Delphi**: Verwenden Sie die WebView2-Ereignisse in Delphi, um auf dieses JavaScript-Ereignis zu reagieren. Sie können das `OnWebMessageReceived`-Ereignis verwenden, um Nachrichten von der Webseite zu empfangen und entsprechende Aktionen auszuführen.
3. **Benutzerdefinierte Aktionen ausführen**: Sobald das Ereignis erkannt wird, können Sie eine Funktion oder eine Benachrichtigung in Ihrer Anwendung auslösen. Dies könnte durch die Implementierung eines Event-Handlers in Delphi geschehen:
Delphi-Quellcode:
procedure TFormMain.WebViewWebMessageReceived(Sender: TObject; Args: IWebView2WebMessageReceivedEventArgs);
begin
// Ihre benutzerdefinierte Funktion hier
ShowMessage('Der Benutzer versucht, die Webseite zu verlassen.');
end;
### Weitere Überlegungen
- **Pop-up-Verwaltung**: Wenn Ihre Anwendung auch andere Pop-ups verwalten muss, können Sie die entsprechenden Ereignisse wie `OnNewWindowRequested` verwenden, um diese zu kontrollieren[6].
- **Integrationstests**: Testen Sie Ihre Anwendung gründlich, um sicherzustellen, dass alle JavaScript-Ereignisse korrekt abgefangen und behandelt werden.
Diese Methode ermöglicht es Ihnen, auf das Verlassen der Seite zu reagieren und benutzerdefinierte Aktionen auszuführen, wenn das entsprechende JavaScript-Ereignis ausgelöst wird.
Citations:
[1]
https://www.askingbox.de/info/javasc...seite-anzeigen
[2]
https://blog.bartlweb.net/2010/03/js...eite-anzeigen/
[3]
https://learn.microsoft.com/de-de/mi...owser-features
[4]
https://www.gutefrage.net/frage/gibt...e-zu-verlassen
[5]
https://appmaster.io/de/blog/was-ist-eine-webview-app
[6]
https://www.delphipraxis.net/215677-...webbowser.html
[7]
https://www.winsoft.sk/webview.htm