关键部分:

webview.loadUrl("javascript:var imgs=document.getElementsByTagName('img');for(var i=0;i

需要在加载的HTML中在<head></head>标签中加入这句话,用于页面适应手机屏幕;

loadUrl函数是通过模拟a标签跳转时的时候调用JS脚本,以完成注入的目的;

测试HTML内容代码:

            
                
        
        
        
    

Android Class WebView代码:

String content = "
";webview = (WebView) findViewById(R.id.demoView);webview.getSettings().setJavaScriptEnabled(true);webview.loadDataWithBaseURL("https://s3.51cto.com", content, "text/html", "utf-8", null);webview.setWebViewClient(new WebViewClient(){    @Override    public void onPageFinished(WebView view, String url)    {        super.onPageFinished(view, url);        webview.loadUrl("javascript:var imgs=document.getElementsByTagName('img');for(var i=0;i

Android Activity 代码:

Android AndroidManifest.xml 写入相关权限

    
    
    
        .....

注意事项:

1、权限不能忘记了,要不然访问请求不到页面;

2、网页描述那一段最好加上“<meat name=....”这段;

webview.loadUrl("javascript:var imgs=document.getElementsByTagName('img');for(var i=0;i

JS脚本注入后面加上 void(0),因为页面会跳转所以根据以前的前端经验我加上了这一句,至于为什么模拟A标签的时候写了javascript:xxxx,页面还是会跳转请路过高手们能告诉我感激不尽