2010-07-02 6 views
2

La fonctionnalité de chargement paresseux est très cool dans SlickGrid - mais quelqu'un at-il eu une expérience du chargement d'arrière-plan des pages futures?SlickGrid - Historique chargement des pages

Cela signifierait donc qu'il n'y a pas mise en mémoire tampon/chargement des données lorsqu'un utilisateur arrive à un point de la grille où il n'y a pas encore de données chargées - donc accélérer l'expérience utilisateur.

+0

Vous pensez à la charge paresseuse d'éléments DOM ou de données (via ajax)? – Tin

+0

@Tin - le chargement paresseux des données - ceci fonctionne bien mais nous voulons juste le charger async de sorte que l'utilisateur ne rencontre aucun espace blanc en faisant défiler vers le bas. –

+0

Vous voulez donc charger la grille avec la valeur initiale des données et commencer à télécharger le reste en arrière-plan? Avez-vous considéré la charge supplémentaire sur le serveur que cela entraînerait? Peut-être qu'une sorte de chargement Ajax prédictif fonctionnerait mieux. – Tin

Répondre

0

Nous avons trouvé une solution pour cela en utilisant setTimeout, donc chaque fois que nous allons obtenir 50 dossiers, nous fixons un délai d'attente pour obtenir un autre 50 en quelques secondes.

+0

C'est une bonne idée mais à quoi ça ressemble dans le code? Je voudrais faire quelque chose de similaire pour le chargement paresseux des données JSON. – ghiscoding

0

Il y a deux options pour offrir ce type de fonctionnalité.

préchargement. Mozilla: Link Prefetching FAQ

Ajouter ce qui suit à la head de page1.htm permettrait préchargement de fond de page2.htm dans les navigateurs supportant cette fonctionnalité.

<link rel="next" href="page2.htm" > 

Comme je l'ai dit, je ne suis pas sûr des navigateurs qui font, et ne pas en charge cette fonctionnalité, mais, si vous voulez fournir des mêmes fonctionnalités pour tous les navigateurs, vous pourriez aussi le code, en jQuery, une fonction qui s'exécute pour tous les navigateurs qui ne supportent pas la Prefetch, pour créer un iFrame caché.

iframes StackOverflow: iframe preloading

Création d'un iframe, comme ce qui suit, que ce soit par le codage HTML de base, ou dynamiquement en utilisant jQuery, chargerait page2.htm tout en affichant encore page1.htm (et devrait fournir une amélioration des performances tant que la page référencée est compatible avec le cache).

<iframe src="page2.htm" width="1" height="1" frameborder="0" scrolling="no" style="position:absolute;top:-3000px;left:-3000px;></iframe>