2010-03-15 8 views
0

J'ai un ebook (taille relativement grande disons 800 pages), au format HTML. J'ouvre ce livre en tant que page web en utilisant webkit-gtk +. Si je charge le livre entier à la fois, il prend trop de mémoire (RAM). Ainsi je ne veux pas charger le livre entier à la fois, mais chargez la partie du livre qui est actuellement sur l'affichage. et quand l'utilisateur fait défiler vers le bas, la partie suivante devrait être affichée. Comment puis-je l'implémenter?comment charger une partie de la page HTML actuellement affichée?

Répondre

1

La solution la plus simple consiste à découper le livre en pages, puis à utiliser des liens en haut et en bas pour les déplacer.

Si vous voulez vraiment essayer la métaphore du «livre à défilement infini», vous devez également diviser le livre en pages sur le serveur. Maintenant, vous pouvez utiliser JavaScript pour regarder les événements de défilement et charger la page suivante avec AJAX dès que le visiteur se rapproche du bord.

Le problème ici est de savoir quand se débarrasser des parties que le visiteur a lues. En outre, la barre de défilement va beaucoup sauter. Donc, l'expérience pour l'utilisateur ne sera pas très bonne de toute façon. Pour avoir une idée de ce que cela donne, chargez un énorme flux RSS dans Google Reader. Il ne laissera pas tomber les articles que vous avez vus, de sorte que le navigateur mange lentement de plus en plus de mémoire. Du côté positif, la barre de défilement ne saute pas aussi follement.

+0

bien, merci, une chose que je pourrais ne pas être très clair en mentionnant, la page HTML que j'ai référé sera sur mon disque dur seulement, pas dans un autre système/serveur. Je vais juste ouvrir la page présente dans mon système informatique ... – ganapati

+0

Cela ne change pas ma réponse. Vous ne pouvez pas couper un énorme livre HTML à un seul fichier en pages plus petites sans charger le livre entier dans la RAM. –

+0

Ou peut-être vous étiez troublé par "sur le serveur": Votre propre ordinateur est le serveur dans ce cas. –

Questions connexes