2012-06-26 18 views
5

Ich möchte den Inhalt einer Seite laden, die sich in einem anderen Ordner befindet (zB: "files/pages/example.html") für den div container, indem ich auf die Schaltfläche in jQuery Mobile klicke!Seite in ein div laden jQuery Mobile

Wie geht das?

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

Ich habe eine Frage. Testen Sie im Browser? Wenn nicht, haben Sie support.cors und allowCrossDomainPages hinzugefügt? – Th0rndike

Antwort

1

Die $ .mobile.loadPage ist die Methode, die Sie benötigen. Es erlaubt Ihnen, eine externe HTML-Datei zu laden und sie in das dom einzufügen. Der Standardwert für diese Methode ist, sie als ganze Seite zu laden, also müssen Sie die Optionen angeben, um sie in ein dom-Element zu laden. Dies ist ein Beispiel (und ungetesteter) Code:

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

jetzt, vergessen Sie nicht über das Sicherheitsproblem crossDomain. Ich schaffte es, diese Arbeit in Firefox zu machen, indem das Hinzufügen:

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

Auch die Seite müssen Sie laden div in einem Daten-role = Seite umgebrochen werden (sagen wir mal es id = ‚NochNeSeite‘ hat). Nach der Last-Trigger auf der Daten-role = Seite mit id = NochNeSeite div:

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

Ich hatte es bereits versucht, aber es lädt die Seite nicht. –

+0

und was ist passiert? Wo ist der Code? Welche Fehler hast du bekommen? Dies ist die übliche Vorgehensweise, wenn es nicht funktioniert hat, gab es einen Fehler in deinem Code, aber natürlich kann ich (und die SO-Community) dir nicht helfen, wenn du uns nicht zeigst, was du probiert hast und was Probleme, die Sie auf dem Weg gefunden haben. – Th0rndike

+0

Es tut mir leid. Ich habe versucht den Code, den ich am Anfang des Beitrags und Ihren jQuery-Code, um die Seite zu laden (gerade von .on zu .Live und fügte ein ';' am Ende der Funktion loadPage). Es gibt keinen Fehler (mit dem Simulator iOs) und tut nichts! Ich habe versucht, eine "Warnung (('# Container'). Html())" nach LoadPage-Funktion, aber die Warnung sagt, dass der div # Container leer ist (zeigt nichts in der Warnung). –

Verwandte Themen