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 :

Lancer un script avant la fin du chargement de la page


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 30
    Points : 19
    Points
    19
    Par défaut Lancer un script avant la fin du chargement de la page
    bonjour,

    j'ai installé un lecteur MP3 sur mon blog :
    http://wiki.khlevina.info/doku.php/geekeries:kastafiore

    dans HEAD on trouve
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/javascript" src="http://monblog.fr/accueil/share/ma-radio/popup.js"></script>
    pour info popup.js contient ceci
    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
    window.onload = function() {
    	// check to see that the browser supports the getElementsByTagName method
    	// if not, exit the loop 
    	if (!document.getElementsByTagName) {
    		return false; 
    	} 
    	// create an array of objects of each link in the document 
    	var popuplinks = document.getElementsByTagName("a");
    	// loop through each of these links (anchor tags) 	
    	for (var i=0; i < popuplinks.length; i++) {	
    		// if the link has a class of "popup"...	
    		if (popuplinks[i].getAttribute("class") == "popup") {	
    			// add an onclick event on the fly to pass the href attribute	
    			// of the link to our second function, openPopUp 	
    			popuplinks[i].onclick = function() {	
    			openPopUp(this.getAttribute("href"));	
    			return false; 	
    			} 	
    		}
    	} 
    } 
     
    function openPopUp(linkURL) {
    window.open(linkURL,'popup','width=220,height=300,resizable=yes')
    }
    et le script se lance via ce lien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <li class="page_item"><a href="http://monblog.fr/accueil/share/ma-radio/index.html" class="popup" title="Ouvrir le lecteur dans une pop-up">Musique</a></li>
    Voila mon problème :

    Le lecteur ne se lance pas dans un popup tant que la page d'accueil n'est pas completement chargée.
    Donc si un utilisateur clique sur le lien "Musique" avant la fin du chargement complet de la page, le lecteur MP3 s'affiche dans la même fenetre à la place du blog.
    si il a la patience d'attendre la fin du chargement de la page le popup s'ouvre sans problème...

    Est-il possible de rendre le script actif avant la fin du chargement de la page ?

    Merci pour votre aide

    Cordialement,

    Billboc

  2. #2
    Membre éclairé
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Points : 823
    Points
    823
    Par défaut
    Pourquoi ne pas rendre clickable le lien musique seulement une fois la page chargée ?

    ++
    JC

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    Tu penses qu'il n'y a pas de solution alors ?

    pour le plugin Lightbox j'avais le même problème et en rajoutant cette ligne
    cela permet de le faire fonctionner avant la fin du chargement de la page...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <!-- Gestion de la Lightbox lors du chargement de la page -->
    <script type="text/javascript">if (fileLoadingImage) { myLightbox = new Lightbox(); }</script>
     
    </body>
    Mais je n'ai pas trouvé une solution similaire pour mon lecteur MP3

    En attendant pourrais tu me dire comment faire pour bloquer le bouton jusuq'à la fin du chargement de la page ?

    Merci pour ton aide, en espérant que cet indice supplémentaire pourra être source de nouvelles solutions !!!!

    ++
    Billboc

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Je pense que l'autre solution est d'utiliser AJAX. En effet, l'une des charactéristiques de ce groupement de technologies est de pouvoir afficher des données en mode asynchrone. Autrement dit, les résultats sont affichés avant la fin de l'execution du script. Tu peux tester du XmlHTTP Request pour sa. Je te conseille vivement la librairie Prototype, qui te permet de faire des requettes Ajax tres facilement. Bon courage!

Discussions similaires

  1. Lancer un script avant la compilation ?
    Par Invité dans le forum Qt Creator
    Réponses: 3
    Dernier message: 17/07/2011, 02h02
  2. Attendre la fin du chargement d'une page avant d'en charger une autre
    Par La Mite dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/07/2011, 17h39
  3. Lancer l'impression à la fin du chargement de la page
    Par afrodje dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/08/2007, 14h57
  4. attendre la fin de chargement d'une page avant de continuer le script
    Par jibouze dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 07/06/2006, 09h50
  5. Attendre la fin du chargement de la page dans un WebBrowser
    Par core1 dans le forum Web & réseau
    Réponses: 5
    Dernier message: 15/06/2003, 04h12

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