Android WebView target="_blank" 打开新窗口

Android WebView target="_blank" 打开新窗口


Android 4.4之前使用WebView使用WebKit内核,之后使用Chromium内核


网页使用target="_blank"打开新窗口,是不会执行WebChromeClient中的onCreateWindow方法的,

所以我们要采用其他方案来打开新窗口。


我采用的方法:替换标签,不过替换的标签,进行新窗口的打开

javascript: var allLinks = document.getElementsByTagName('a'); if (allLinks) {var i;for (i=0; i<allLinks.length; i++) {var link = allLinks[i];var target = link.getAttribute('target'); if (target && target == '_blank'&& link.toString().subString(0,7) != 'newtab:') {link.setAttribute('target','_self');link.href = 'newtab:'+link.href;}}}

在onPageFinished方法中webView.loadUrl("上边的javascript"),替换_blank对应的href地址;

在onPageStart方法中判断url.startWiths("newtab:"),然后新开窗口加载newtab:之后的地址;



也可以把js写入到文件中,将文件放到assets文件夹里面,webView.loadUrl("file:///android_asset/xx.js"),这样去执行js方法。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值