在 webview 中突出显示选定的文本。 [Android]
Highlight the selected text in webview. [Android]
我在 Web 视图中有某些文本。我可以 select 那些文字。我想突出显示这些文字,但我不知道该怎么做。任何人对此有任何想法,请帮助!谢谢!
您需要 运行 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> ";
和
webView.loadUrl("javascript:highlightSelection()");
确保您启用了 java脚本
WebView myWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
在 Android 4.1(jellybean) 中,WebView.findAll() 已弃用,我们应该改用 WebView.findAllAsync。
希望得到帮助:)
我在 Web 视图中有某些文本。我可以 select 那些文字。我想突出显示这些文字,但我不知道该怎么做。任何人对此有任何想法,请帮助!谢谢!
您需要 运行 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> ";
和
webView.loadUrl("javascript:highlightSelection()");
确保您启用了 java脚本
WebView myWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
在 Android 4.1(jellybean) 中,WebView.findAll() 已弃用,我们应该改用 WebView.findAllAsync。
希望得到帮助:)