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

  • FamilyFeud

    FamilyFeud

    22 AĞUSTOS 2006
  • KIT KAT

    KIT KAT

    3 EKİM 2005
  • Tek Syndicate

    Tek Syndicat

    23 Temmuz 2008