2012-06-26 3 views
5

Je veux charger le contenu d'une page qui est dans un autre dossier (par exemple: "files/pages/example.html") pour le conteneur div en cliquant sur le bouton dans jQuery Mobile!Charger la page vers un div jQuery Mobile

Comment le faire?

<div data-role="page"> 
    <div id="container" data-role="content"><button id="clickButton">Click me!</button></div> 
</div> 
+0

J'ai une question. Testez-vous dans le navigateur? Si non, avez-vous ajouté support.cors et allowCrossDomainPages? – Th0rndike

Répondre

1

Le $ .mobile.loadPage est la méthode dont vous avez besoin. Il vous permet de charger un fichier html externe et de l'insérer dans le dom. La valeur par défaut pour cette méthode est de la charger comme une page entière, vous devez donc spécifier les options pour le charger dans un élément dom. Ceci est un exemple (et untested) code:

$('#clickButton').on("click",function(){ 
    $.mobile.loadPage("theURLofThePage",{pageContainer: $('#container')}) 
}); 

maintenant, n'oubliez pas le problème de sécurité crossDomain. J'ai réussi à faire ce travail dans Firefox en ajoutant:

$("#landingPage").live('pageinit', function() { 
      jQuery.support.cors = true; 
      $.mobile.allowCrossDomainPages=true; 
     }); 

En outre, la page que vous chargez doivent être emballées dans un data-role = Page div (disons qu'il a id = 'secondePage'). Après la charge, déclenchement sur la data-role = Page avec id = secondePage div:

$('#secondPage").trigger('pagecreate'); 
+0

J'avais déjà essayé mais il ne charge pas la page. –

+0

et que s'est-il passé? où est le code? quelles erreurs avez-vous eu? C'est la manière standard de le faire, si ça n'a pas fonctionné, il y a eu une erreur dans votre code, mais bien sûr je (et la communauté SO) ne peux pas vous aider si vous ne nous montrez pas ce que vous avez essayé et problèmes que vous avez rencontrés en cours de route. – Th0rndike

+0

Je suis désolé. J'ai essayé le code que j'ai donné au début de la publication et votre code jQuery pour charger la page (juste déplacé de .on à .live et ajouté un ';' à la fin de la fonction loadPage). Il n'y a pas d'erreur (en utilisant les iOs du simulateur) et ne fait rien! J'ai essayé de faire un "alert (('# container'). Html())" après la fonction loadPage mais l'alerte indique que le div #container est vide (n'affiche rien sur l'alerte). –

Questions connexes