Wir entwickeln Epub-Reader-Bibliothek. Unsere Benutzer können ihre Lesungen (über die Server-API) auf allen Geräten synchronisieren (Webbrowser, Android SDK App, iOS App usw.). Und wir sollten Synchronisation von Benutzer Notizen, Angebote, Positionen lesen, Lesezeichen unterstützen. Wir unterstützen auch Textgrößenänderungen. Und wir verwenden CSS-Spalten für die Buchpaginierung.Was ist der beste Weg, um Benutzerelemente in Epub (HTML) Reader-Apps (Android SDK, iOS, Web usw.) zu serialisieren
Jetzt für die Serialisierung versuchen wir Timdown/rangy Bibliothek (TextRange-Modul) zu verwenden: https://github.com/timdown/rangy/wiki/Text-Range-Module, um Textpositionen relativ zu Buch Kapitel (HTML-Körper) zu bestimmen.
Aber wir beachten Sie:
- js Funktionen wie selectCharacters (Node containerNode, Anzahl start, Anzahl endIndex) arbeitet sehr langsam
- Text-Position Mismatch nach Textgröße zu ändern
Wir sind darüber nachzudenken, die gleichen Funktionen zu verwenden, aber relativ zum nächsten dom-Element (p). Aber in diesem Fall müssen wir dom Elemente jedes Mal in einer universellen Weise für alle Clients identifizieren.
Was ist der beste Weg zu serialisieren - User-Elemente in unserem Fall zu deserialisieren?
Natürlich ist es unsere Arbeit und so unsere Probleme, aber wir werden sehr dankbar sein für Ihren Rat!