Android webview: mettez en surbrillance un mot précis dans une page à l'aide de javascript?
je suis l'aide d'une webview à l'intérieur de mon application android. Je voudrais savoir si il est possible de souligner ou de souligner un mot/phrase/paragraphe dans une page chargée en utilisant le code fait en javascript?
grâce
oui, c'est possible... qu'avez-vous essayé?
OriginalL'auteur shadesco | 2011-03-14
Vous devez vous connecter pour publier un commentaire.
Vous devriez regarder cette page. Faire un affichage de la source.
Ils utilisent Javascript, pas même jQuery--pour mettre en surbrillance les mots sur la page web.
En gros, ils charge de la totalité du texte souhaitez faire une recherche dans une variable et en permanence trouver le
indexOf
le terme de recherche qu'ils veulent mettre en avant. Quand ils trouvent l'indice du terme, ils construisent une nouvelle chaîne avec tout ce qui précède que l'indice + un<span class="highlighted">
+ le terme de recherche +</span>
. Puis ils continuent la recherche. Une fois qu'ils ont cherché et reconstruit tous les le texte qu'ils remplacer l'ancien texte dans les DOM avec le nouveau texte.Ils ont aussi un peu de CSS, le long de la lignes de
.highlighted { background-color: yellow; }
np, merci beaucoup de l'homme, ce qui semble utile, malade vérifier si cela fonctionne pour webview et je vais laisser u sais 🙂
Toute mise à jour? Avez vous trouvez une solution?
OriginalL'auteur Chris W.
Pourquoi ne pouvez-vous pas essayer cela? titleWebView est la WebView qui a le code html de chargée ou chargé. texterecherché doit contenir le texte à rechercher. J'ai construit une boîte de dialogue pour obtenir les termes de recherche de l'utilisateur et rechargé la page web à chaque fois que l'utilisateur appuie sur la recherche. Tous les termes contenant le texterecherché est mise en évidence (lumière verte sur mon Nexus One). Espérons que cette aide.
WebView view
surfindAll(searchText)
. Il doit être le même (déjà entièrement chargé) webview tout comme letitleWebView
.Oui, vous avez raison. findAll fonctionne sur le pré-chargé webview.
Merde - je donnerais ce 100 étoiles si je pouvais - aswesome
Heureux de vous aider 🙂 j'ai eu du mal à essayer de le comprendre la première fois. Android documentation d'aide.
J'ai un problème ici. Mon texte est mis en évidence, mais encore le toast des spectacles "a Trouvé 0 résultats!". Je ne suis pas en mesure de comprendre pourquoi?? N'importe quelle chaîne je peut prendre, il les met en valeur correctement mais le findAll() la méthode retourne toujours 0. Toute aide serait appréciée 🙂
OriginalL'auteur Ashok Felix
findAll() est obsolète! Vous pouvez utiliser findAllAsync() à partir de API16 à partir d'une manière simple comme ceci:
OriginalL'auteur Uncaught Exception
Code
Après ce test en utilisant le code suivant.
Lorsque le texte est match
Toast
d'affichage.OriginalL'auteur Youddh