我正在做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