-
WebView et balise
Bonjour,
je voudrais savoir quelle est la meilleure façon de n'afficher qu'une partie d'une WebView,
c'est à dire soit passé par un css (ou quelque chose comme cela) soit parser et afficher ensuite (avec quelle lib) soit autre chose.
Sachant pour cela que je récupère le lien d'une page internet qui a son propre css, donc soit je force l'utilisation d'un css pour n'afficher que certaine balises soit je parse.
merci
-
Bonjour,
Pourrais-tu préciser ton besoin ?
Tu veux afficher seulement une partie d'une page web ? ou tu veux que ton composant WebView ne prenne pas toute la place sur l'écran de ton mobile ?
-
Je voudrais afficher seulement une partie de page genre seulement le texte et eviter les pubs et les trucs comme cela.
voila
-
Ce que tu veux faire est appelé "Screen Scraping". Avec tous les deux solutions tu auras le même problème – si le HTML n’est pas servi à partir de ton propre serveur il y’aura toujours la risque que le format peut changer et ton parsing ou CSS ne marche plus.
Pour le CSS il me semble qu’il faut en tout cas traiter la source pour injecter le lien ver ton fichier CSS.
Pour un parsing directe tu peux utiliser la source pour instancier un DOM du quel tu peux extraire les balises dont tu as besoin – si tu peux être certain que la source est toujours XML bien formé. Sinon la meilleure solution est HTML Tidy (http://tidy.sourceforge.net/) un API très efficace pour créer bon XML de pas-si-bon HTML.
Mais si tu veux distribuer ton application ni l’un ni l’autre marchera si la source est changée – une possibilité très probable. Alors je propose une troisième solution – parser la source sur ton propre serveur est livrer comme HTML les balises que tu veux à ton application Android. Si (quand) le format de la source change tu ne doit que de modifier ton serveur.
Qu’est-ce que t’en pense ?
-
C'est vrai qu'a partir du moment où le serveur m'appartient, je peux faire ce que je veux à la source, dans ce cas, j'avais pensé a changer le css de la page dès que le serveur voit que c'est un utilisateur Android qui utilise la page et du coup de n'afficher que les balises que me seront nécessaire.
je n'avais pas pensé a la troisième solution proposée, du coup je ne sais pas qu'elle serait la plus simple.
merci je vais voir et je vous tiens au courant si j'y arrive