我正在使用 WebView 来显示一个页面,其中 html 包含一个 iframe,其中 src="xxxxx.php"。
该 iframe 作为带有底层链接的广告图像加载。如果我单击该图像(链接),它会尝试在原始 iframe 中加载新页面(在那个小空间中不会显示太多内容)。我想要发生的是单击链接在新的浏览器窗口中打开引用的页面,使我的应用程序保持原样。
如果我使用 Android 浏览器显示原始页面并单击此 iframe,它会将链接加载为新页面。如何使用 WebView 获得相同的行为?将 WebViewClient 与 shouldOverrideUrlLoading() 一起使用似乎不会被 iframe 链接调用。
我在 WebView 源中的谷歌广告也遇到了类似的问题,因为它们也在 iframe 中加载。我是这样解决的:
在您的 WebViewClient 中尝试此操作,通常在您的 shouldOverrideUrlLoading() 下
@Override
public void onLoadResource (WebView view, String url) {
if (url.contains("googleads")) {
if(view.getHitTestResult().getType() > 0){
view.getContext().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
view.stopLoading();
Log.i("RESLOAD", Uri.parse(url).toString());
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)