Kan man trimma ner en sida med "Web View"?

Diskussion i 'Frågor, support och diskussion' startad av xtreme, 28 apr 2010.

  1. xtreme

    xtreme Adult Droid Medlem

    Blev medlem:
    12 apr 2010
    Inlägg:
    516
    Mottagna gillanden:
    13

    MINA ENHETER

    Har börjat leka lite med "Web View" och fått en sida att visas. Nu undrar jag om man kan påverka innehållet som visas, ex bara viss text, inga bilder etc, dvs trimma ner innehållet? Eller är det ngt annat än Web View man ska titta på för att uppnå detta?
     
  2. the_bean

    the_bean Youth Droid Medlem

    Blev medlem:
    20 apr 2010
    Inlägg:
    134
    Mottagna gillanden:
    2

    MINA ENHETER

  3. xtreme

    xtreme Adult Droid Medlem

    Blev medlem:
    12 apr 2010
    Inlägg:
    516
    Mottagna gillanden:
    13

    MINA ENHETER

    Har sökt runt lite och det finns en del komponenter för java som används för att hantera HTML ex TagSoup och JTidy. Har dock tyvärr inte hittat några exempel att utgå från. Någon som vet fall det fungerar bra i android eller blir för tungt? Någon som kanske hittat en bra guide hur det används.
     
  4. A_M

    A_M Kid Droid Medlem

    Blev medlem:
    13 jul 2009
    Inlägg:
    56
    Mottagna gillanden:
    0

    MINA ENHETER

    Om du kan leva med att alla förändringar av sidan sker efter att den laddats (m.a.o. mobilen måste tanka bilder m.m. även om de sedan döljs) tycker jag det enklaste sättet torde vara att använda bookmarklets och javascript-frameworket jQuery.

    Du kan köra javascript i WebView genom att använda loadUrl("javascript:").

    På så sätt borde du kunna lägga till jQuery till sidan du laddat:
    Kod:
    mWebView.loadUrl("javascript:var%20s=document.createElement('script');s.setAttribute('src','http://jquery.com/src/jquery-latest.js');document.getElementsByTagName('body')[0].appendChild(s);void(s);");
    Därefter bör du kunna dölja godtyckliga DOM-element med hjälp av jQuerys hide()-funktion:
    Kod:
    //dölj alla DIV-element med klassen "nav":
    mWebView.loadUrl("javascript:$('div.nav').hide();");
    Obs! Jag har inte provat detta själv, men jag ser ingen anledning till att det inte skulle gå.

    / Andreas