2013-10-22 15 views
6

से HTML कोड प्राप्त मैं इसलोड WebView

final WebView w=(WebView)findViewById(R.id.webView1); 
w.loadUrl("http://somepage.com"); 

की तरह कुछ वहाँ किसी भी तरह से html पृष्ठ उस समय के कुछ पल में WebView में दिखाया गया है प्राप्त करने के लिए है है? मैं इस HTML पेज को स्ट्रिंग चर के रूप में प्राप्त करना चाहता हूं।

बिंदु मैं के बाद जावास्क्रिप्ट एक ग्राहक पक्ष पर निष्पादित किया जाता है एचटीएमएल कोड प्राप्त करना चाहते है ...

किसी भी दिशा निर्देशों?

+0

मैं पहले से ही है कि समाधान की कोशिश की है, लेकिन यह मेरे लिए काम नहीं करता है, हो सकता है यह एंड्रॉयड संस्करणों के साथ समस्या ... – Lukap

+0

यह देखते हुए कि आप सिर्फ एक जवाब जो डुप्लिकेट रूप में ही है स्वीकार किए जाते हैं, मुझे आपकी प्रतिक्रिया लगता है चौंका देने वाला। – CommonsWare

+0

अच्छी तरह से लोग कहते हैं कि यह बेवकूफ सवाल है और उन्होंने इतने करीब से पूछा ..., मैं अभी भी वेबदृश्य से एचटीएमएल पाठ नहीं पढ़ सकता, लेकिन मुझे लगता है कि यह केवल मेरे फोन पर समस्या है, क्योंकि हर कोई कहता है कि ठीक काम कर रहा है , यही कारण है कि मैंने उत्तर के रूप में चिह्नित किया। – Lukap

उत्तर

14

एक तरीका मुझे पता है;

decleration अपनी गतिविधि में जावास्क्रिप्ट हैंडलर

class LoadListener{ 
    public void processHTML(String html) 
    { 
     Log.e("result",html); 
    } 
} 

कॉन्फ़िगर अपने वेब दृश्य के बाद;

webView.getSettings().setJavaScriptEnabled(true); 
webView.addJavascriptInterface(new LoadListener(), "HTMLOUT"); 

वेबव्यू क्लाइंट की तुलना में;

webView.setWebViewClient(new WebViewClient() { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 

       return true; 
     }    

     @Override 
     public void onPageStarted(WebView view, String url, 
         Bitmap favicon) { 
     } 

     public void onPageFinished(WebView view, String url) { 
      view.loadUrl("javascript:window.HTMLOUT.processHTML('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');"); 
     } 
}); 
+0

धन्यवाद, यह वही है जो मैं – Lukap

+3

के लिए देख रहा था, 17 से अधिक एपीआई स्तरों के लिए, आपको काम करने के लिए @JavascriptInterface एनोटेशन जोड़ने की ज़रूरत है, अन्यथा इसे नहीं कहा जाएगा। – Tomap

+1

यह काम एपीआई 21 और एड्रॉइड 4.2.2 में करता है? ऐसा लगता है कि एपीआई 21 के साथ एंड्रॉइड 4.2.2 मेरे लिए काम नहीं कर रहा है। लेकिन यह एंड्रॉइड 4.4.2 और एपीआई 21 में काम करता है। –

1

एचटीपी क्लाइंट का उपयोग करके here के रूप में कोड प्राप्त करने का एक तरीका है। एक और समाधान निम्नलिखित blog में दिया गया है।

+1

यह कुकीज़ आदि के साथ नहीं लाएगा –

संबंधित मुद्दे