Android WebView 资源探查

1.注入JS函数:获取各种元素链接的数组,返回数组。

2.调用函数,获取返回值,拼接网页,字符串转对象,遍历数组,把元素插入网页。

String js = "javascript:function inspect(){var videos=document.getElementsByTagName('video');var array_video=new Array();for(var i=0;i<videos.length;i++){array_video.push(videos[i].src);}var array_iframe=new Array();var iframes=document.getElementsByTagName('iframe');for(var i=0;i<iframes.length;i++){array_iframe.push(iframes[i].src);}var array_img=new Array();var imgs=document.getElementsByTagName('img');for(var i=0;i<imgs.length;i++){array_img.push(imgs[i].src);}return{array_video,array_iframe,array_img}}";
list_webView.get(currentPage).loadUrl(js);
list_webView.get(currentPage).evaluateJavascript("javascript:inspect()", new ValueCallback<String>() {
    @Override
    public void onReceiveValue(String value) {
        newWindow("");
        String html = "<html><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8'/><meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no'/><title>资源探查</title><style>h1{text-align:center;}a{text-decoration:none;}img{max-width:100%;}</style></head><body><h1>视频</h1><div id='div_video'></div><h1>框架</h1><div id='div_iframe'></div><h1>图片</h1><div id='div_img'></div></body><script>var div_video=document.getElementById('div_video');var json=eval((" + value + "));var videos=json.array_video;for(var i=0; i<videos.length; i++){var video=document.createElement('video');video.src=videos[i];video.controls='controls';div_video.append(video);}var iframes=json.array_iframe;for(var i=0; i<iframes.length; i++){var p = document.createElement('p');var a=document.createElement('a');a.textContent=iframes[i];a.href=iframes[i];a.target='_blank';p.append(a);div_iframe.append(p);}var imgs=json.array_img;for(var i=0; i<imgs.length; i++){var img=document.createElement('img');img.src=imgs[i];div_img.append(img);}</script></html>";
        list_webView.get(currentPage).loadData(html, "text/html; charset=UTF-8", null);
    }
});

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值