JQuery Mobile changePage
Je suis en train de concevoir un JQuery Mobile application et face à un problème,
J'ai deux pages, page1.aspx
et page2.aspx
, j'ai rediriger page1
à page2
. Actuellement, je suis en utilisant window.location.href
pour la redirection, mais c'est montrer de chargement également dans la barre d'adresse.
Afin d'éviter cela, je veux utiliser $.mobile.changePage
.
Problème:
Maintenant avant la redirection, je suis à la définition d'une valeur dans localStorage
variable, en fonction de cette valeur sur l'événement load de page2.aspx
j'ai pour lier la page. Il fonctionne avec window.location.href
, mais tout en utilisant $.mobile.changePage
c'est la redirection mais l'événement de chargement n'est pas de cuisson après page2.aspx
si je suis de l'actualisation de la page de chargement.
Donc mon problème est lors de l'affichage de page2.aspx
charge événement a pour tirer.
Quelqu'un peut me dire pourquoi page2.aspx
n'est pas de chargement lors de l'utilisation $.mobile.changePage
?
Si quelqu'un connaît la solution, s'il vous plaît répondre dès que possible, c'est très urgent.
Merci d'avance.
Page1.aspx:
localStorage.setItem("pageCode", "NULLException");
//$.mobile.changePage("../MessageDialog.aspx", "slide", true, true);
$.mobile.changePage("../MessageDialog.aspx", { transition: "slide", changeHash: true, reverse: false });
Page2.aspx:
$('div').live("pageshow", function () {
if (localStorage.getItem("pageCode") != null) {
if (localStorage.getItem("pageCode") == "NullException") {
$('#lblDialogHeader').text("Error");
$('#lblDialogMessage').text("Sorry");
document.getElementById("btnOK").setAttribute("onclick", 'Test()');
}
}
}
HTML
<div data-theme="c" data-role="page" id="test">
<div data-role="header" data-theme="b">
<h1><label id="lblStatus">Status</label></h1>
</div>
<div data-role="content" data-theme="b">
<h3><label id="lblDialogHeader"></label></h3>
<p><label id="lblDialogMessage"></label></p>
</div>
<div data-role="footer" data-theme="b">
<div data-role="navbar">
<ul>
<a href="#" data-role="button" id="btnOK" data-icon="check">OK</a>
<a href="#" data-role="button" id="btnCancel" data-rel="back" data-icon="delete" >Cancel</a>
</ul>
</div>
</div>
</div>
OriginalL'auteur Ankit | 2011-11-16
Vous devez vous connecter pour publier un commentaire.
Il semble que lorsque vous appelez
changepage
la spécification d'une transition, la deuxième page semble être "injecté" dans le premier. Vous pouvez le vérifier facilement, car$(document).ready(function(){})
ne fonctionne pas dans la deuxième page.Je suis en utilisant Cordova dans un Windows Phone 7 application, j'ai modifié mon script
location.href
à utiliser$.mobile.changepage()
et il y avait ce problème: j'ai voulu que la deuxième page à feu de la charge de l'événement, mais aucune n'a fonctionné (pageshow
,pagechange
,pagebeforechange
, corpsonload
,$(document).ready
, etc).Voici mes résultats jusqu'à présent qui peut vous aider, vous et d'autres personnes:
la index.html est ma page de démarrage comme suit
Maintenant le travail secondpage.html. La compréhension qui n'est pas possible d'utiliser
pagechange
ou$(document).ready
, nous remarquons que nous pouvons utiliser pageinit pour simuler un "chargement de la page".C'est un vrai travail de l'échantillon, si quelqu'un a besoin je peux partager un exemple de projet.
OriginalL'auteur Junior M
Les événements ne sont pas de même avec changePage, parce que cette méthode fait un appel Ajax vers la nouvelle url, ce qui est différent de l'appel direct à la fenêtre.emplacement.href
Avez-vous essayé avec cette méthode:
EDIT: en Regardant le JQuery Mobile page, j'ai vu qu'il y a et l'événement déclenché après le changement de page.
http://jquerymobile.com/test/docs/api/events.html
Salut, j'ai ajouté un lien où vous pouvez voir les événements déclenchés sur la page de changement.. Aussi j'ai mon application que je suis en utilisant le code que j'ai posté dans ma réponse et fonctionne très bien.. j'Espère que vous pourrez le faire fonctionner
salut,merci pour le partage de ce lien,mais j'ai déjà essayé tous ces événements,mais aucun d'entre eux est en cours d'exécution au moment du chargement,après un rafraîchissement tout fonctionne,
Pouvez-vous ajouter votre code lorsque vous appelez la changePage et la js sur la deuxième page?
Page1: localStorage.setItem("pageCode", "NullException"); $.mobile.changePage("../MessageDialog.aspx", "diaporama", true, true);
OriginalL'auteur SERPRO