SORU
4 Mart 2010, PERŞEMBE


Nasıl bir web Görünümü web sayfası içeriğini alabilirim?

Android, bir sayfa görüntüleme WebView bir ben var.

Nasıl tekrar sayfayı almadan sayfa kaynağını alabilirim?

WebView bir dize verir getPageSource() yöntemin nasıl olması gerektiği gibi görünüyor, ama ne yazık ki değil.

Eğer JavaScript etkinleştirirsem, bu çağrının içeriğini almak için koymak için uygun JavaScript nedir?

webview.loadUrl("javascript:(function() { "    
    "document.getElementsByTagName('body')[0].style.color = 'red'; "    
    "})()");  

CEVAP
3 ŞUBAT 2011, PERŞEMBE


Bu geç bir cevap olduğunu biliyorum, ama ben de aynı sorun vardı, çünkü bu soru buldum. Lexandera.com this post cevabı buldum sanırım. Aşağıdaki kod, temelde sitesinden kes-yapıştır. Hile yapmak gibi görünüyor.

final Context myApp = this;

/* An instance of this class will be registered as a JavaScript interface */
class MyJavaScriptInterface
{
    @JavascriptInterface
    @SuppressWarnings("unused")
    public void processHTML(String html)
    {
        // process the html as needed by the app
    }
}

final WebView browser = (WebView)findViewById(R.id.browser);
/* JavaScript must be enabled if you want it to work, obviously */
browser.getSettings().setJavaScriptEnabled(true);

/* Register a new JavaScript interface called HTMLOUT */
browser.addJavascriptInterface(new MyJavaScriptInterface(), "HTMLOUT");

/* WebViewClient must be set BEFORE calling loadUrl! */
browser.setWebViewClient(new WebViewClient() {
    @Override
    public void onPageFinished(WebView view, String url)
    {
        /* This call inject JavaScript into the page which just finished loading. */
        browser.loadUrl("javascript:window.HTMLOUT.processHTML('<head>' document.getElementsByTagName('html')[0].innerHTML '</head>');");
    }
});

/* load a web page */
browser.loadUrl("http://lexandera.com/files/jsexamples/gethtml.html");

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • InsideBlackBerry

    InsideBlackB

    14 Aralık 2009
  • SHAYTARDS

    SHAYTARDS

    1 EKİM 2008
  • Tina Chen

    Tina Chen

    26 Mayıs 2012