2013-02-05 4 views
0

Je viens d'écrire mon premier site Jquery Mobile très basique qui a seulement deux pages.Jquery chose étrange mobile

La deuxième page (qui pourrait être la première) utilise galleria slideshow qui a ses propres fichiers js.

La chose très étrange qui est arrivé est que si je charge la page 2 d'abord il fonctionne parfaitement bien. Cependant si je cours la page 1 et clique alors le lien à la page 2, il se bloque à la page 1 et il y a une erreur de console de js disant que galleria est indéfini. J'ai passé l'erreur en incluant les fichiers galleria js à la page 1 et tout a bien fonctionné.

Alors, pourquoi est-ce que je devrais faire cela? Sûrement ces deux pages ne sont en aucun cas connectées à l'exception du lien. Des pensées/idées/explications de ce comportement étrange?

+0

pouvez-vous poster quelque chose pour montrer le problème? Est-ce que vous chargez réellement la page deux ou l'ajaxing dans la page 1 – mplungjan

Répondre

1

Ce comportement n'est pas étrange, c'est exactement comme ça que fonctionne jQuery Mobile. En fait, jQM après avoir chargé la première page, charger les autres en utilisant AJAX et en injectant simplement leur corps dans la première page. Si vous voulez vérifier ce fait, utilisez un inspecteur DOM. Dit que, la section <head> de la page d'autres n'est jamais chargée. Pour résoudre le problème, vous devez inclure la bibliothèque galleria dans chaque fichier que vous utilisez ou utiliser quelque chose comme PHP include (beaucoup mieux).

+0

Merci, cela l'explique alors. Bon travail je suis tombé sur la bonne solution par erreur d'essai. Mais semble mettre une lourde charge d'inclure tous les j dans la première page chargée même si elle n'a pas besoin de tout. Je suppose que quelqu'un va me dire qu'il y a un moyen de ne charger que les fichiers js quand vous en aurez réellement besoin. – RobC

+0

Je viens de lire une partie de l'intro de docs que j'aurais dû faire auparavant. J'ai maintenant utilisé 'data-ajax =" false "' pour arrêter le chargement de la page 2, ce qui signifie que je peux réduire la taille de la page 1, ce qui est ce que je voulais. – RobC

+0

Oui, vous devriez également ajouter cet attribut;) –