Warum Skripte bei Verwendung von jQuery Mobile in Index.html enthalten sein müssen
Einführung
In jQuery Mobile-Projekten führt die Umleitung von Seiten mithilfe von $.mobile.changepage() zu Verwirrung. Entwickler müssen alle Seitenskripte in derselben Datei, index.html, einbinden, andernfalls kann die Umleitungsseite die in ihrem Header definierten Funktionen nicht ausführen. In diesem Artikel wird das Verhalten hinter diesem Phänomen erläutert.
Wie jQuery Mobile mit Seitenänderungen umgeht
jQuery Mobile verwendet Ajax, um nachfolgende Seiten zu laden. Während die erste Seite normal geladen wird, laden nachfolgende Seiten nur ihren Hauptinhalt. Insbesondere wird nur das erste Div mit dem Attribut data-role="page" in das DOM integriert und alles andere verworfen.
Grund für die Inoperabilität des Skripts
In Ihrem Auf der zweiten Seite und den folgenden Seiten ist die Schaltfläche sichtbar, da HTML normal gerendert wird. Das Click-Ereignis funktioniert jedoch nicht, da sein übergeordneter Kopf beim Seitenübergang ignoriert wurde.
Lösung 1: Skripte in den Hauptinhalt verschieben
Eine schnelle Lösung ist das Verschieben Fügen Sie das Skript-Tag in den Hauptinhalt nachfolgender Seiten ein:
<body> <div data-role="page"> // HTML content <script> // JavaScript </script> </div> </body>
Lösung 2: Konsolidieren von Skripten in Index.html
Eine bevorzugte Lösung besteht darin, das gesamte JavaScript in zu verschieben eine einzelne Datei, index.js, im Kopf der ersten HTML-Datei platziert:
<head> <meta ...> <link rel="stylesheet" ...> <script src="jquery.mobile-1.2.0.min.js"></script> <script src="index.js"></script> // Your consolidated JavaScript </head>
Grund für die Index.html-Konsolidierung
Phonegap, wie jQuery Mobile , kann Fehler aufweisen. Wenn das gesamte JavaScript in einer einzigen HTML-Datei platziert wird, könnte ein Fehler auftreten und die aktuelle Seite aktualisieren. Wenn dieser Seite das erforderliche JavaScript fehlt, funktioniert sie bis zum Neustart nicht mehr.
Realistische Lösung
Verschieben Sie die Datei index.js in den Kopf aller anderen HTML-Dateien . Dadurch wird sichergestellt, dass auf Skripte auch dann zugegriffen werden kann, wenn andere DOM-Elemente aufgrund von Fehlern verloren gehen.
Fazit
Zu verstehen, wie jQuery Mobile mit Seitenänderungen umgeht, ist für eine erfolgreiche App-Entwicklung von entscheidender Bedeutung. Die Konsolidierung von Skripten in index.html ist eine empfohlene Lösung, um die Skriptverfügbarkeit sicherzustellen und mögliche Probleme mit Phonegap zu verhindern.
Das obige ist der detaillierte Inhalt vonWarum müssen jQuery Mobile Page-Skripte in „index.html' enthalten sein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!