根据我的研究:
- “WebView”可以禁用“在新窗口/选项卡中打开链接”。
- 本机应用程序开发人员使用WebView在其应用程序中显示网页(请参见Twitter的应用程序)。
- 通过用户代理检测WebView不一致,并且也不是最佳实践。
- 仅尝试使用JS打开新窗口会触发弹出窗口拦截器,使其成为一种不可靠的测试新窗口是否可以打开的方法。
我需要检测此功能不可用的情况。不可能吗?
补充说明
我正在尝试检测是否可以通过target=_blank打开新窗口。例如,在应用程序浏览器中,UIWebView可以防止target=_blank按预期工作(它只是在同一窗口中打开而不是在新窗口中)。我需要一种解决方案来指示由于浏览器限制(例如,在UIWebView情况下)无法打开新窗口。不幸的是,弹出窗口阻止器防止检查此类功能,因为它们永远不允许打开新窗口而不需要用户输入(即点击)来绕过。
<uses-permission android:name="android.permission.INTERNET" />
这个权限? - maiomanif (window.allownew)
-- 这是一个“特性检查”,并且没有类似这样确定性的方式。 - Dave Alperovich