为了账号安全,请及时绑定邮箱和手机立即绑定

如何从webview中获取html内容?

如何从webview中获取html内容?

喵喔喔 2019-06-23 17:17:04
如何从webview中获取html内容?从webview获取html代码的最简单方法是哪一种?我尝试过一些方法,从堆栈溢出和谷歌,但找不到确切的方法。请说出确切的方法。public class htmldecoder extends Activity implements OnClickListener,TextWatcher{TextView txturl;Button btgo;WebView wvbrowser; TextView txtcode;ImageButton btcode;LinearLayout llayout;int flagbtcode;public void onCreate(Bundle savedInstanceState){             super.onCreate(savedInstanceState);                 setContentView(R.layout.htmldecoder);     txturl=(TextView)findViewById(R.id.txturl);     btgo=(Button)findViewById(R.id.btgo);     btgo.setOnClickListener(this);     wvbrowser=(WebView)findViewById(R.id.wvbrowser);     wvbrowser.setWebViewClient(new HelloWebViewClient());     wvbrowser.getSettings().setJavaScriptEnabled(true);     wvbrowser.getSettings().setPluginsEnabled(true);     wvbrowser.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);     wvbrowser.addJavascriptInterface(new MyJavaScriptInterface(),"HTMLOUT");     //wvbrowser.loadUrl("http://www.google.com");     wvbrowser.loadUrl("javascript:window.HTMLOUT.showHTML('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');");     txtcode=(TextView)findViewById(R.id.txtcode);     txtcode.addTextChangedListener(this);     btcode=(ImageButton)findViewById(R.id.btcode);     btcode.setOnClickListener(this);     }public void onClick(View v){     if(btgo==v)     {         String url=txturl.getText().toString();         if(!txturl.getText().toString().contains("http://"))         {             url="http://"+url;         }         wvbrowser.loadUrl(url);         //wvbrowser.loadData("<html><head></head><body><div style='width:100px;height:100px;border:1px red solid;'></div></body></html>"         "text/html","utf-8");     }
查看完整描述

3 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

在KitKat和更高的地方,你可以用evaluateJavascriptWebview方法

wvbrowser.evaluateJavascript(
        "(function() { return ('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>'); })();",
         new ValueCallback<String>() {
            @Override
            public void onReceiveValue(String html) {
                Log.d("HTML", html); 
                // code here
            }
    });


查看完整回答
反对 回复 2019-06-23
  • 3 回答
  • 0 关注
  • 1720 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信