2012-06-26 21 views
5

Quiero cargar el contenido de una página que está en otra carpeta (por ejemplo: "archivos/páginas/ejemplo.html") para el contenedor div haciendo clic en el botón en jQuery Mobile!Cargar página a un div jQuery Mobile

¿Cómo hacerlo?

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

Tengo una pregunta. ¿Estás probando en el navegador? si no, ¿ha agregado support.cors y allowCrossDomainPages? – Th0rndike

Respuesta

1

El $ .mobile.loadPage es el método que necesita. Le permite cargar un archivo html externo e insertarlo en el dom. El método predeterminado para este método es cargarlo como una página completa, por lo que debe especificar las opciones para cargarlo en un elemento dom. Este es un código de ejemplo (y no probado):

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

ahora, no se olvide de los problemas de seguridad crossdomain. Me las arreglé para hacer este trabajo en Firefox añadiendo:

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

Además, la página que va a cargar debe ser envuelto en una data-role = página div (digamos que tiene id = 'segundapagina'). Después de la carga, gatillo de la data-role = página con id = segundapagina div:

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

Ya lo había intentado pero no carga la página. –

+0

y qué pasó? ¿Dónde está el código? ¿Qué errores obtuviste? Esta es la forma estándar de hacerlo, si no funcionó hubo algún error en su código, pero por supuesto que yo (y la comunidad SO) no podemos ayudarlo si no nos muestra qué ha intentado y qué problemas que encontraste en el camino. – Th0rndike

+0

Lo siento. Probé el código que di al comienzo de la publicación y tu código jQuery para cargar la página (recién movido de .on a .live y agregué un ';' al final de la función loadPage). ¡No hay ningún error (usando los iOs del simulador) y no hace nada! Intenté hacer una "alerta (('# contenedor'). Html())" después de la función loadPage pero la alerta dice que el contenedor div # está vacío (no muestra nada en la alerta). –

Cuestiones relacionadas