我正在做Epub阅读器,并显示在android webview中的书。如何在android webview上永久突出显示文本?
目前我可以使用下面的JavaScript
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()");
这突出显示文本,我也保存在本地数据库中突出显示的文本
但是当用户重新打开这本书时,我想显示以前突出显示的文本。我怎样才能做到这一点?
我试图当用户通过
webView.findAllAsync(highlightedText);
进入页面(默认情况下凸显文本)查找的文字,但如果高亮文本太小像单词“the”,很多话会强调。
我已经搜查左右,但所有的问题都没有答案Question 1和Question 2
那么,有没有任何其他的方式来实现这一目标?
不值得赏金,但仍然奖励,因为我不想浪费它 – Redman
你觉得从答案中缺少什么? – Hod
1.如何保存位置 2.即使我保存了某种位置,如何重新放置该位置/范围 – Redman