2012-09-17 3 views
1

Je suis nouveau à cet endroit mais déjà cherché des réponses sur google et ici, mais je ne trouve pas une seule réponse qui m'a aidé (même si cette question a été posée beaucoup de fois!).Comment lancer Javascript sur chaque page (jQuery Mobile)

Donc, mon problème est, j'ai fait une page mobile jquery que je veux utiliser comme une application plus tard. J'utilise 3 pages différentes (index.html, page2.html, page3.html) et je veux déclencher quelques javascripts chaque fois que ces pages sont cliquées dans la navigation.

J'ai trouvé beaucoup de messages concernant ce problème, mais la plupart d'entre eux étaient un peu vieux (~ 2011) et les solutions que j'ai trouvées ne fonctionnaient pas.

ici est ce que je l'ai déjà essayé:

<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> 
<script src="js/js.js"></script> 
<script src="js/moment.js"></script> 
<script src="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.js"></script> 

est la tête de chaque page que j'utilise. dans le doc de jquery mobile est écrit, que vous avez insérer votre script entre jquery et jquery mobile pour être exécuté (js.js est mon js personnalisé). ce script ne fonctionnera que sur la première page, mais j'en ai besoin pour fonctionner sur chaque page, parce que j'échange du texte sur chaque page quand certains événements se produisent. Après que j'ai essayé de mettre mon code dans le div data-role = "page" de sorte qu'il sera exécuté à chaque fois, mais cela n'a pas non plus fonctionné. quand je mets juste un peu console.log() dedans (entre $ (document) .bind ("pageinit", function() {), les publications ne se déclencheront pas à chaque changement de pagechange, mais tireront d'une manière ² quand je reviendrai à la page originale (après 5 pagechanges, le message du journal sera mis comme 60 fois dans la console).

function packungSpeichern() { 

var formPackung = new Object; 

formPackung.inhalt = document.getElementById("inhalt").value; 
formPackung.date = moment().format("DD-MM-YYYY"); 

localStorage.setItem("formPackung", JSON.stringify(formPackung)); 

}

ici est un exemple de dossier de mon habitude. Je ne peux pas utiliser ce script sur la première page je lance, mais pas sur toutes les pages:/

J'espère que vous comprenez ce que je veux, mon anglais n'est pas le meilleur du tout :)

+0

Comment avez-vous essayé de mettre le code JavaScript dans votre DIV? Pouvez vous donner un exemple? –

+0

'Quand je mets ceci sur chaque page avec la page un" test1 ", page 2" test2 "et page3" test3 ", je peux voir dans la console que sur une page changer l'événement de la page que je viens être triggert, mais quand je reviens à la page je suis venu du journal ne sera pas triggert. Je ne comprends pas pourquoi :) – Schnebdreleg

+0

Que voulez-vous dire en revenant? Voulez-vous dire que vous utilisez le bouton arrière de votre navigateur, ou vous rechargez la page en cliquant sur un lien? –

Répondre

0

dans la tête de la première page en JQM:

<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> 
<script src="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.js"></script> 

dans le corps (page DIV) de chacune des pages JQM (partout en bas, comme dans le pied de page, etc.):

<div data-role="page"> 
    <div data-role="content"> 
     <script src="js/js.js"></script> 
     <script src="js/moment.js"></script> 
    </div> 
</div> 

Sinon, si vous mettez cela dans votre tête, vous dire jQuery pour exécuter ce script une fois par page changement:

$(document).bind("pageshow", function(event, ui){ 
    console.log('A page has changed!'); 
} 
Questions connexes