J'ai un certain texte dans la vue web. Je peux choisir ce texte. Je veux mettre en évidence ces textes mais je n'ai aucune idée de comment le faire. Toute personne ayant une idée à ce sujet, s'il vous plaît aider! Merci!Mettez en surbrillance le texte sélectionné dans WebView. [Android]
1
A
Répondre
1
vous devez exécuter le script java
public static String Highlightscript = " <script language=\"javascript\">" +
"function highlightSelection(){" +
"var userSelection = window.getSelection();" +
"for(var i = 0; i < userSelection.rangeCount; i++)"
+ " highlightRange(userSelection.getRangeAt(i));" +
"}" +
"function highlightRange(range){"+
"span = document.createElement(\"span\");"+
"span.appendChild(range.extractContents());"+
"span.setAttribute(\"style\",\"display:block;background:#ffc570;\");"+
"range.insertNode(span);}"+
"</script> ";
et
webView.loadUrl("javascript:highlightSelection()");
assurez-vous que vous avez activé javascript
WebView myWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
0
merci. Pouvez-vous m'expliquer un peu plus? cette userSelection.rangeCount est cette fonction intégrée? Pouvez-vous m'expliquer ce morceau de code? Merci à l'avance – MagicWand
oui, il sera fonction intégrée. Lorsque vous chargez des données dans Webview, ajoutez la chaîne Highlightscript avec. et lorsque l'utilisateur clique surligner le bouton appel 'webView.loadUrl (" javascript: highlightSelection() ");' – Redman
sur longview webview permet de sélectionner du texte. donc ce userselection.rangecount connaîtrait le point de départ et de fin de la sélection de l'utilisateur? Une autre chose est par une pression longue j'obtiens quelques-unes des options par défaut comme copier, partager, rechercher sur le web. Est-il possible d'ajouter plus d'options ou de désactiver ces options? – MagicWand