IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Plusieurs onLoad dans une seule page


Sujet :

JavaScript

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 74
    Par défaut Plusieurs onLoad dans une seule page
    Bonjour,

    Je travaille actuellement sur une application web qui sera utilisée sur un iPad.

    Ma page html contient un script onload pour rafraichir les cookies:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <script type="text/javascript">
    window.onload = function() {
    var expDate = new Date();
    expDate.setTime(expDate.getTime() + (60 * 60 * 1000));
    document.cookie = "connected=" + escape("ok") + "; expires=" + expDate.toGMTString();
    document.cookie = "login=" + escape("admin") + "; expires=" + expDate.toGMTString();
    document.cookie = "refresh=" + escape("300") + "; expires=" + expDate.toGMTString();
    document.cookie = "expire=" + escape("60") + "; expires=" + expDate.toGMTString();
    document.cookie = "level=" + escape("1") + "; expires=" + expDate.toGMTString();
    }
    </script>
    et un script externe pour ne pas afficher la barre d'adresse:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    var iWebkit;
    if(!iWebkit){
    	iWebkit=window.onload=function(){
    		function fullscreen(){
    			var a=document.getElementsByTagName("a");
    			for(var i=0;i<a.length;i++){
    				if(a[i].className.match("noeffect")){}
    				else{
    					a[i].onclick=function(){
    						window.location=this.getAttribute("href");
    						return false
    					}
    				}
    			}
    		}
    		function hideURLbar(){
    			indow.scrollTo(0,0.9)
    		}
    		iWebkit.init=function()
    		{
    			fullscreen();
    			hideURLbar()
    		};
    		iWebkit.init()
    	}
    }
    Quand j'utilise le bloc pour refresh mes cookies, le code pour masquer la barre d'adresse ne fonctionne pas, il faut que je l'efface pour que ca marche correctement.

    Utiliser deux onLoad a deux endroits différents peut poser probleme?

  2. #2
    Membre éclairé Avatar de SPACHFR
    Profil pro
    Paaaaaa
    Inscrit en
    Février 2004
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paaaaaa

    Informations forums :
    Inscription : Février 2004
    Messages : 557
    Par défaut
    Bonjour,

    Pourquoi ne pas appeler une seul fonction sur le "onload" (1 seul onload) qui elle serait chargée d'appeler les autres fonctions ?

  3. #3
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Bonjour link,
    tu l’as deviné, il y a un problème à utiliser plusieurs onload.

    window.onload étant une propriété de window comme les autres, et window étant un objet (presque) comme les autres, réaffecter cette propriété a le même effet que d’habitude : ça écrase l’ancienne.

    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var obj = {
        fun: function() {
            alert('Cool');
        }
    };
     
    obj.fun = function() {
        alert('Pas cool');
    };
     
    obj.fun(); // essaye et tu verras

    La meilleure solution étant encore d’utiliser addEventListener :
    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    window.addEventListener('load', ma_fonction_1, false);
    window.addEventListener('load', ma_fonction_2, false);
    window.addEventListener('load', ma_fonction_3, false);
    // etc.
    Comme le client est sous iPad, tu n’as même pas à te soucier des autres navigateurs. J’adore ce genre de projets

    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 74
    Par défaut
    merci pour ces réponses, je vais voie comment arranger tout ca

    Le client devrait être sous iPad, mais l'application peut aussi très bien etre utilisée sous PC (safari/chrome, les autres navigateurs étant pas tellement compatible avec iwebkit) ou une autre tablette

    edit : ca marche merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] plusieurs formulaire dans une seule page
    Par naim2009 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 26/03/2009, 20h54
  2. [MySQL] Insérer plusieurs formulaires dans une seule page
    Par hakou08 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 19/03/2009, 10h37
  3. afficher plusieurs composants dans une seule page
    Par groupe dans le forum GWT et Vaadin
    Réponses: 6
    Dernier message: 07/05/2008, 11h44
  4. Gérer plusieurs connexions dans une seule page Aspx
    Par Inspirate dans le forum Accès aux données
    Réponses: 6
    Dernier message: 12/07/2007, 15h06
  5. [MySQL] Connections à plusieurs serveurs dans une seule page php
    Par Pgs dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/06/2006, 16h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo