11492 sujets

JavaScript, DOM et API Web HTML5

bonjour,

je suis en train de faire un blog (dotclear 1.2.6)
c'est un blog privé et je ne désire pas que l'URL soit sur le forum, j'espère que cela ne me banniera pas du forum Smiley confused

j'ai installé un lecteur de mp3 que l'on peut lancé dans un pop-up en cliquant sur un lien.

mon probleme est que ma page est longue à charger (je sais c'est pas bien...)
et le script qui est censé faire marcher le lecteur n'est fonctionnel qu'à la fin du chargement de la page Smiley bawling
donc si on clique sur le lien avant la fin du chargement de la page le pop-up ne s'ouvre pas... (sinon c'est ok)

je ne trouve pas de solution...
en existe t-il une ?

PS; j'ai rencontré le même probleme avec un plugin (lightbox 2) et pour le résoudre j'ai du ajouter en fin de page

</div> <!-- end #page -->

<!-- Gestion de la Lightbox lors du chargement de la page -->
<script type="text/javascript">if (fileLoadingImage) { myLightbox = new Lightbox(); }</script>

</body>


Mais je ne trouve pas de solution similaire pour mon petit lecteur mp3

Merci pour votre aide (sans l'URL c'est vraiment pas facile, désolé...)

A bientôt
si cela peut aider j'ai trouver ces lignes de codes
dans le fichier lightbox.js

function initLightbox() { myLightbox = new Lightbox(); }
Event.observe(window, 'load', initLightbox, false);



peut-être devrais faire quelque chose de similaire dnas le dossier popup.js de mon lecteur ?

popup.js
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')
}


autant vous dire que pour moi c'est du chinois...[/i][/i]
Modifié par billboc (21 Jul 2007 - 19:35)
la premiere question est, je pense : pk ta pge est elle si lourde? il y a surement des choses a alleger ! (trop d'images?)
ma page n'est pas vraiment lourde mais j'utillise le plugin bloggersnap qui doit récuperer une image sur un autre serveur qui est un peu lent... donc la page met du temps à se charger et pendant se temps là impossible d'utiliser mon script Smiley bawling

une idée ?
billboc a écrit :
ma page n'est pas vraiment lourde mais j'utillise le plugin bloggersnap qui doit récuperer une image sur un autre serveur qui est un peu lent...

Ce qui fait dire aux professionnels: attention aux services externes que vous intégrez sur vos site. Smiley cligne
http://www.ajblog.fr/index.php/limitez-les-elements-externes

Ceci dit, il doit effectivement y avoir des moyens en Javascript pour déclencher l'exécution d'un script avant la fin du chargement du document et des ressources liées. Mais là, c'est une question de Javascript, qui a donc sa place dans le salon ad hoc. Zou, sujet déplacé. Smiley smile
Modifié par Florent V. (23 Jul 2007 - 14:35)
salut

regarde de ce coté-ci

Ce script utilise le 'addEvent' de Dean Edwards et te permet de lancer ton script lorsque le html est chargé mais avant que les images et elements de la page le soient. Enfin tout est expliqué dans le lien

a bientot
Sinon la librairie Yahoo! a une fonction pour lancer un évènement dès qu'un élément avec un certain id est dispo. La lib utilise du polling, donc toutes les x millisecondes lance un getElementById jusqu'à ce que ça marche
Modérateur
Salut,

Le script de Dean Edwards est incompatible avec Konqueror... Si tu t'en sers, on a le comportement JS désactivé sous ce navigateur.

Généralement, les bibliothèques telles Mootools, jQuery (incompatible IE5.0) ou autres réagissent mieux mais comme il est dommage de rajouter de 20 à 12000ko pour une simple méthode de chargement rapide, mieux vaut lancer son script en fin de page xhtml si on veut assurer la portabilité sur de nombreux navigateurs... à moins bien sûr de n'extraire que le strict nécessaire de la bibliothèque. Smiley cligne

( bonjour dunjl, ça fait un bail Smiley ravi )
Hello !
koala64 a écrit :
mieux vaut lancer son script en fin de page xhtml si on veut assurer la portabilité sur de nombreux navigateurs...

+1 Smiley smile
a écrit :
Le script de Dean Edwards est incompatible avec Konqueror...


effectivement je n'ai pas été précis, en réalité ce script utilise une version modifiée du script de dean edwards. Apparemment il est compatible avec Konqueror. Je dis apparemment car je n'ai pas Konqueror et n'ai donc pas pu verifier in situ.

(bonjour koala, c'est vrai que ca fait un bon moment que je n'étais pas venu sur le forum ou juste comme ca rapidement, beaucoup de travail ! en tout cas ca fait plaisir de revenir et de voir que les interventions sont toujours de qualité. Tu as explosé ton compteur de post Smiley cligne . D'ailleurs bravo pour ton tuto javascript ... a bientot)
Modifié par dunjl (25 Jul 2007 - 15:13)
et moi qui pensait que je n'aurais qu'une petite ligne de code a rajouter en bas de ma page !!!
je suis débutant et je dois vouer que c'est assez effrayant d'avoir un tel "paquet"
à placer...

cela ne risque t-il pas de ralentir l'affichage de monsite ?

avez vous dans mon premier post tout là haut cette petite ligne qui permet d'acceder à un plugin avant la fin du chargement de la page... pourquoi n'est il pas possible de faire de même avec le script du lecteur mp3 ?

excusez ma question mais je n'y connais rien...

Merci Smiley cligne
koala64 a écrit :
(...) mieux vaut lancer son script en fin de page xhtml si on veut assurer la portabilité sur de nombreux navigateurs... à moins bien sûr de n'extraire que le strict nécessaire de la bibliothèque.


pourrais tu m'expliquer ce que cela veut dire ?
merci pour tes lumières Smiley confused
++