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

  • Feel The Electricity!

    Feel The Ele

    20 ŞUBAT 2010
  • NLthomas21

    NLthomas21

    20 Mayıs 2008
  • ODN

    ODN

    26 Kasım 2006