xles / hyphenator

Automatically exported from code.google.com/p/hyphenator
GNU General Public License v3.0
0 stars 0 forks source link

onFinish Callback #203

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Ich nutze Hyphenator in einer Android WebView für sehr lange Texte. Das 
Umbrechen dauert da gerne mal 5 bis 10 Sekunden. Ich möchte, solange 
Hyphenator arbeitet, die View mit einem Ladekreis überdecken und erst 
freigeben, wenn der Text bearbeitet wurde. Dafür brauche ich in Javascript 
aber ein Callback von Hyphenator, wenn er fertig ist. Ist das schon irgendwo 
eingebaut? Mir reicht auch die Stelle in der Hyphenator.js wo ich dann meine 
Callback Funktion ausführe.

Original issue reported on code.google.com by phillipp...@googlemail.com on 26 Aug 2014 at 10:13

GoogleCodeExporter commented 9 years ago
Ah, function war versteckt, sollte nun gehen.
https://code.google.com/p/hyphenator/wiki/en_PublicAPI#property_onhyphenationdon
ecallback

Original comment by phillipp...@googlemail.com on 26 Aug 2014 at 10:31

GoogleCodeExporter commented 9 years ago
Naja, ging etwas in die Hose. Callback hat ausgeschlagen, noch bevor die 
Elemente wieder sichtbar wurden.

Original comment by phillipp...@googlemail.com on 26 Aug 2014 at 10:32

GoogleCodeExporter commented 9 years ago
Hi Phillipp

Bitte entschuldige die späte Antwort.
Das Callback wird ausgelöst, wenn alle Elemente, die Hyphenator gesammelt hat, 
getrennt sind. Kurz bevor das Callback ausgelöst wird, werden die Inhalte 
wieder auf "sichtbar" gestellt. Warum das bei dir nicht funktioniert, verstehe 
ich zur Zeit noch nicht.

Eine erste Vermutung:
Chrome (Android WebView verwendet Chrome, richtig?) bearbeitet das Einblenden 
des nach Silben getrennten Seiteninhaltes und das Ausblenden des Ladekreises in 
unterschiedlichen Threads. Thread 1 (Layout und Rendern des Textes und 
einblenden) dauert länger als Thread 2 (Ausblenden des Ladekreises).

Ich versuche grad, das Problem hier in Chrome nachzustellen - bisher ohne 
Erfolg…

Kannst du mir genauere Angaben machen?
- Android-Version
- Verwendete HTML-Datei
oder am besten eine Demo schicken, die das Problem zeigt?

Wär super!
Vielen Dank,
Mathias

Original comment by mathiasn...@gmail.com on 26 Sep 2014 at 10:07

GoogleCodeExporter commented 9 years ago
Hallo Mathias,

Benutze Android 4.4 und 4.4.4, welches die Chrome Engine in der WebView 
verwendet.
Die HTML Datei kann ich dir nicht schicken, weil ich das HTML von unserer API 
bekomme und dann CSS und sehr viel JS dazu mische. 
Es handelt sich aber um Bücher im HTML Format, also extrem viel Text der 
verarbeitet werden muss. Was ich noch kritisch sehe ist, wenn man den 
Bildschirm dreht, denn dann verändert sich ja die Breite des Textes und 
dementsprechend auch die Zeilenlänge und Umbrüche.

Original comment by phillipp...@googlemail.com on 26 Sep 2014 at 10:17

GoogleCodeExporter commented 9 years ago
Hi

> Was ich noch kritisch sehe ist, wenn man den Bildschirm dreht, denn dann 
verändert sich ja die Breite des Textes und dementsprechend auch die 
Zeilenlänge und Umbrüche.
Hyphenator.js setzt alle möglichen weichen Trennzeichen ein, nicht nur die, 
welche tatsächlich gebraucht werden. Bei einer Änderung der Zeilenlänge 
(Resizing des Browserfensters oder Drehen des Geräts) kann der Browser den 
Text einfach neu layouten, Hyphenator.js muss nichts mehr neu rechnen.

Beim OP-Problem komme ich allerdings nicht weiter.

Unternommene Schritte:
- Einfachen Test erstellt: 
https://hyphenator.googlecode.com/svn/trunk/testsuite/test113.html (329kB HTML 
Textbuch "Jakob von Gunten", Quelle: Gutenberg.org): Bis die Silbentrennung 
berechnet ist, wird ein Ladekreis angezeigt.
- Einfache WebView-App für Android (KitKat) zusammengebastelt.

Funktioniert einwandfrei im Emulator (Nexus 7). Will heissen: Wenn der 
Ladekreis verschwindet, ist der Text sichtbar.

Das Problem muss also irgendwo in deinem HTML/JS/CSS in *Kombination* mit 
Hyphenator.js liegen.
Gerne würde ich das Problem lösen, bräuchte dazu aber wirklich eines deiner 
kompletten (HTML+JavaScript+CSS) HTML-Bücher.

Wenn das wirklich nicht geht (vertrauliche Daten o.ä.), lass es mich bitte 
wissen. Dann kann ich nichts tun und werde das Issue hier schliessen.

Beste Grüsse aus der Schweiz,
Mathias

Original comment by mathiasn...@gmail.com on 26 Sep 2014 at 3:53

GoogleCodeExporter commented 9 years ago
Hallo Mathias,

ich teste das Montag noch einmal durch und melde mich dann hier wieder.

Gruß
Phillipp

Original comment by phillipp...@googlemail.com on 26 Sep 2014 at 4:19

GoogleCodeExporter commented 9 years ago

Original comment by mathiasn...@gmail.com on 25 Oct 2014 at 11:35