J'essaie d'utiliser ou de créer et d'écouter des événements lorsque l'utilisateur change la taille de la police de l'EPUB dans un ereader avec Javascript mais je n'ai pas trouvé le chemin.Détecter les changements de police dans EPUB
Ce que j'ai essayé sans succès:
- Un écouteur d'événement
resize
. - Un événement de minutage qui mesure la taille de la police. Un écouteur qui mesure l'échelle du
viewport
.
En ebook-viewer
(alias spectateur Calibre) Je peux voir dans l'inspecteur que chaque fois que je change la taille de la police les impressions de la console Viewport cfi: /2/4/2/2/1:1
. Je vois que lorsque 1:1
change, c'est une sorte d'échelle dans les nombres int.
C'est pourquoi j'ai essayé de détecter l'échelle de la fenêtre avec this ou this.
donc je suppose qu'il est possible que parce que je peux voir l'inspecteur de cuvette ebook-viewer
...
Tous les essais ne fonctionnent pas sur iOS soit.
Mise à jour
Je sais que sur le epubReadingSystem
et ses limites. De plus, JS est optionnel pour EPUB3. Ce que je suis en train de résoudre est que dans la poésie espagnole quand un verset est plus grande que la taille de la boîte, il doit être une pause et la ligne suivante doit être aligné à droite avec un support:
A short verse. A very very long [verse.
I compris comment faire ce changement. Le problème est que lorsque l'utilisateur change la police, le calcul doit être fait à nouveau. J'ai essayé de résoudre ce problème en faisant un EPUB fixe, mais iBooks et ebook-viewer
permettent à l'augmentation de la police ...
Un exemple de réalisation: jsfiddle.net/dxr9azy7
J'ai mis à jour le post pour expliquer ce que je veux réaliser c'est 'onFontSizeChange' que vous implémentez. Donc, aucune solution connue à cela? Dans Minstrel, comment décelez-vous ce changement? – NikaZhenya
Pour ce que vous voulez réaliser, le mieux est d'utiliser CSS, au lieu de JS. Vous pouvez lire http://epubsecrets.com/formatting-poetry-in-epub-part-1.php et http://epubsecrets.com/formatting-poetry-in-epub-part-2.php: ces Les articles sont anciens, mais vous pouvez en tirer de bonnes idées sur la façon de formater votre poésie. –
Minstrel est une application hybride, de sorte que le "GUI" est en fait HTML5 + JS en cours d'exécution dans un WebView dans une application native créée par Cordova. Ainsi, quand il ouvre un EPUB, il expose simplement un objet global '' epubReadingSystem'', et quand un événement se produit via l'interface graphique de l'application (par exemple l'utilisateur augmente font => taille de police), s'il y a des callbacks enregistrés par le code JS à l'intérieur de l'EPUB sur cet objet global, ils sont appelés. Voir https://github.com/readbeyond/minstrel/blob/master/cordova/src_minstrel/www/js/rb.epub.reader.js#L4283 et les lignes suivantes. Il y a un exemple EPUB dans la page developers.html. –