突出HTML我開發使用UIWebView
iOS版電子書閱讀器。目前我正在處理一些基本的HTML文件,但最終會與ePub一起工作。我正在尋找一種適合文本範圍的樣式。我的範圍有點特別,因爲它們通常包含三個範圍 - 緊接在之前和之後的範圍和範圍。鍵範圍可以跨越多個節點,並且可以例如在粗體文本的選擇內開始或結束等。樣式不應被寫入文件。任何替代使用的execCommand在iOS版電子書閱讀器
目前,我有一個工作的解決方案如下:
document.designMode = "on";
// Color the first section
var selection = window.getSelection();
selection.removeAllRanges();
selection.addRange(range1);
if (!selection.isCollapsed){
document.execCommand("foreColor", false, color1);
}
// Color the middle section
selection.removeAllRanges();
selection.addRange(range2);
if (!selection.isCollapsed){
document.execCommand("backColor", false, color2);
document.execCommand("foreColor", false, color3);
}
// Color the last section
selection.removeAllRanges();
selection.addRange(range3);
if (!selection.isCollapsed){
document.execCommand("foreColor", false, color1);
}
document.designMode = "off";
selection.removeAllRanges();
這工作得很好,但明顯慢(上一個iPad2),即使我修改它突出一個簡短的HTML文檔中的單個範圍。在文本被風格化之前總會有一個非常明顯的延遲。看着iPad上的電子書閱讀器,如kindle或iBooks,沒有明顯的延遲。他們如何實現他們的突出功能?他們可能會閱讀所選文本的地理位置並應用某種疊加?比我已經使用,但沒有運氣,所以如果任何人有一個想法,我將非常感激我已經尋找一個更好的解決方案
。
謝謝!
在這裏,我創建的EPUB閱讀器應用程序的iPad應用程序,在這裏我只是解壓縮並加載EPUB在UIwebview我試圖突出顯示並使用uimenuviewcontroller在uiwebview中添加註釋,我選中了文本並使用execommand或窗口獲取文本,但是我的疑問是如何存儲並重新註釋該註釋並突出顯示webview中的文本,請您幫助我 – dineshprasanna
有沒有辦法切換?所以當用戶第二次將範圍設置爲「粗體」時,它實際上會刪除粗體樣式? – Apollo