Nach meinen Recherchen:Eigenschaft erkennt Öffnung in einem neuen Fenster/Tab (target = _blank) mit JavaScript
- "WebView" kann "öffnen Links in einem neuen Fenster/Tabs" deaktivieren.
- WebView wird von nativen App-Entwicklern verwendet, um Webseiten innerhalb ihrer App anzuzeigen (siehe App von Twitter).
- Das Erkennen von WebView über den Benutzeragenten funktioniert nicht konsistent und ist ohnehin keine bewährte Methode.
- Einfach versuchen, ein neues Fenster mit JS zu öffnen, löst Popup-Blocker aus; Es ist eine unzuverlässige Methode, um zu testen, ob ein neues Fenster geöffnet werden kann.
Ich muss erkennen, wenn diese Funktion nicht verfügbar ist. Unmöglich?
Zusätzliche Erklärung
Ich versuche zu erkennen, ob ich ein neues Fenster über target = _blank öffnen kann. Zum Beispiel kann UIWebView [In-App-Browser] verhindern, dass target = _blank wie erwartet funktioniert [es öffnet sich einfach im selben Fenster anstatt eines neuen]. Ich brauche eine Lösung, um anzuzeigen, wenn ein neues Fenster wegen Browser-Einschränkungen wie im Fall UIWebView nicht geöffnet werden kann. Leider verhindern Popup-Blocker die Überprüfung solcher Funktionen, da sie nie zulassen, dass ein neues Fenster geöffnet wird, ohne dass eine Benutzereingabe (dh ein Klick) umgangen werden muss.
Also, versuchen Sie WebView zu erkennen, oder versuchen Sie, ob, um herauszufinden, um ein neues Fenster zu öffnen funktioniert? Oder versuchen Sie, WebView zu erkennen, vorausgesetzt, dass das Öffnen eines neuen Fensters nie mit WebView funktioniert (was nicht stimmt)? –
@MikhailNaganov Ich möchte nur Feature-Erkennung. –
Ereignislistener behandeln Sicherheit nach einem Ereignis. Sie können also eine Webansicht erkennen, Benutzeragenten erkennen und sogar nach Listenern suchen oder die Webansicht nach Sicherheitseinstellungen abfragen, aber Sie können nicht direkt abfragen, was blockiert werden soll oder nicht. Es ist nicht so einfach wie eine Bibliothek oder API, die vorhanden ist oder nicht. –