我們正在開發epub閱讀器庫。 我們的用戶將能夠在任何設備(網頁瀏覽器,android sdk應用程序,ios應用程序等)上同步他們的閱讀(通過服務器api)。 而且我們應該支持用戶筆記,報價,閱讀位置,書籤的同步。我們也支持文本大小的改變。我們使用CSS列進行書頁分頁。在epub(html)閱讀器應用(android sdk,ios,web等)中序列化用戶元素的最佳方式是什麼
現在爲了序列化,我們嘗試使用timdown/rangy庫(TextRange模塊):https://github.com/timdown/rangy/wiki/Text-Range-Module來確定相對於書本章節(html body)的文本位置。
但我們注意到:
- JS功能,如selectCharacters(節點containerNode,數了startIndex,數endIndex的)的作品非常緩慢後
- 文本的位置偏移文字大小改變
我們考慮使用相同的rangy函數,但相對於最近的dom元素(p)。但在這種情況下,我們必須每次在所有客戶端的通用方式中識別dom元素。
什麼是序列化的最佳方式 - 反序列化我們的情況下的用戶元素?
當然,這是我們的工作,所以我們的問題,但我們將非常感謝您的任何建議!