Noch zu Guter letzt, einen Hinweis, der auch gut zu wissen ist:
In der TWebView-Komponente, die auf WebView2 basiert, gibt es spezifische Event-Handler, die nützlich sind, um Pop-ups zu blockieren oder zu verwalten. Hier sind einige relevante Event-Handler und Techniken:
1. **`NewWindowRequested`-Ereignis**:
- Dieses Ereignis wird ausgelöst, wenn eine Webseite versucht, ein neues Fenster zu öffnen. Sie können dieses Ereignis verwenden, um zu entscheiden, ob das neue Fenster geöffnet werden soll oder nicht. Durch das Abfangen dieses Ereignisses können Sie Pop-ups effektiv blockieren oder steuern[4][5].
2. **Benutzerdefinierter WebChromeClient**:
- Wenn Ihre Implementierung dies unterstützt, können Sie einen benutzerdefinierten WebChromeClient erstellen. In Android-WebViews wird beispielsweise die Methode `onCreateWindow` überschrieben, um das Erstellen neuer Fenster zu verhindern[5].
3. **JavaScript-Einstellungen**:
- Sie können die JavaScript-Einstellungen so konfigurieren, dass das automatische Öffnen von Fenstern verhindert wird. Beispielsweise kann die Einstellung `setJavaScriptCanOpenWindowsAutomatically(false)` in einigen WebView-Implementierungen verwendet werden, um das Öffnen von Pop-ups durch JavaScript zu blockieren[1].
Diese Event-Handler und Techniken bieten Ihnen die Möglichkeit, die Kontrolle über Pop-ups in Ihrer Anwendung zu behalten und unerwünschte Fenster effektiv zu blockieren oder zu verwalten.
Citations:
[1]
https://stackoverflow.com/questions/...ascript-popups
[2]
https://stackoverflow.com/questions/...n-handler?rq=3
[3]
https://support.microsoft.com/de-de/...4-aa47339b6bb5
[4]
https://github.com/MicrosoftEdge/Web...dback/issues/6
[5]
https://www.delphipraxis.net/215677-...webbowser.html