rss
JavascriptPlus
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

[Javascript] Firefox et Opera VS Safari et IE

SpoonS2K, le samedi 12 juillet 2008 à 13:13:42
Bonjour,

après moultes recherches et avoir tourné le truc dans tout les sens, je m'en remet à vous. Je débute dans le Javascript, et dèja je m'aperçois qu'il a des différences entre les divers navigateurs qui existent...

J'ai un script qui est censé utiliser XMLHttpRequest pour récuperer des données a partir
d'un script PHP, et ensuite mettre à jour ma page sans rechargement.

Mon script fonctionne impec sous Firefox, sous Opera, mais impossible de lui faire savoir quoi que ce soit sous Internet Explorer et Safari (Mac et PC).

Je deviens fou, voici mon code:

function recup() { 
	var idProgress=document.getElementById("progress_key").value;
	var xhr= null;

	if(window.XMLHttpRequest) 
	xhr = new XMLHttpRequest();
	else if(window.ActiveXObject) 
	xhr = new ActiveXObject("Microsoft.XMLHTTP");
	else { 
	alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
	return;
}
	
	xhr.open("GET","progress.php?progress_key="+idProgress,true);
	xhr.send(null);
	xhr.onload=maj;
}

function maj() { /*rappel objet xmlHttpRequest */

	var repXhr=this.responseText; //récupération de la réponse du serveur via l'objet xmlHttpRequest (this)

	if (this.readyState == 4) { 
	var objRep=eval('('+repXhr+')');
	}

	
	document.getElementById("sec").innerHTML=objRep.est_sec+" secondes restantes";
	var i = objRep.bytes_uploaded;
	var j = objRep.bytes_total;
	var percent = Math.ceil(i*100/j);
	var pix = percent*300/100;

	document.getElementById("p_pc").innerHTML=percent+"%";
	document.getElementById("p_barre").style.width=parseInt(pix)+"px"; 
	if (percent!=100) { recup(); }
}


Merci à vous
Configuration: Windows XP // Firefox 3.0 - IE7 - Opera 9 - Safari
OSX 10.4.11 // Firefox 3.0 - Safari 9 - Camino
Répondre à SpoonS2K  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 SpoonS2K, le samedi 12 juillet 2008 à 21:16:50
Bon je reviens à la charge... J'ai réécris completement mon code, ca marche impec sur Firefox et Opera.
function getstatus() {

    var xhr = null;

    if(window.XMLHttpRequest) // Firefox
    xhr = new XMLHttpRequest();
    else if(window.ActiveXObject) // Internet Explorer
    xhr = new ActiveXObject("Microsoft.XMLHTTP");
    else { // XMLHttpRequest non supporté par le navigateur
    alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
    return;
}

var idProgress = document.getElementById("clef").value;

xhr.open("GET", "progress.php?progress_key="+idProgress, true);
xhr.onreadystatechange = function() {
    if(xhr.readyState == 4) {
        if(xhr.status == 200) {

        var tmp=xhr.responseText;
        var reponse=eval('('+tmp+')');
       
        var b_up = reponse.bytes_uploaded;
        var b_tot = reponse.bytes_total;
        var percent = Math.ceil(b_up*100/b_tot);
        var pixel = percent*300/100;
       
        document.getElementById("sec").innerHTML = reponse.est_sec+" secondes restantes";
        document.getElementById("p_pc").innerHTML = percent+"%";
        document.getElementById("p_barre").style.width=parseInt(pixel)+"px";
        document.getElementById('rep').style.display = '';
        if (percent!=100) { getstatus(); }
        }
    }
}

xhr.send(null);

}


Seulement Internet Explorer m'affiche bien les reponses que je veux mais une seule fois... En fait on a l'impression qu'il bloque sur if (percent!=100) { getstatus(); }, il ne réécute pas le script, et IE plante... Quant a Safari ca ne fonctionne pas du tout... Si vous avez une idée du pourquoi du comment, je suis preneur

Merci
Répondre à SpoonS2K
Logiciels pertinents trouvés dans les téléchargements
Télécharger Firefox 3.0.1Firefox - Mozilla Firefox 3 est un excellent navigateur qui peut fonctionner à côté d' Internet Explorer ou le remplacer. Il...Catégorie: Navigateurs
Licence: Open Source
Télécharger Web Developer Toolbar 1.1.6Web Developer Toolbar - WebDeveloper est une extension firefox représentant une formidable boîte à outils pour examiner et manipuler les pages...Catégorie: Extensions Firefox
Licence: Freeware/gratuit
Télécharger AM-Deadlink 3.2AM-Deadlink - AM-DeadLink est un outil permettant de détecter les liens morts et les doublons dans les favoris ( bookmarks ) du ...Catégorie: Web
Licence: Freeware/gratuit
Télécharger Opera 9.52Opera - Marre des trous de sécurité du navigateur par défaut ? Envie enfin d'avoir un navigateur simple et configurable facilement ?...Catégorie: Navigateurs
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « [Javascript] Firefox et Opera VS Safari et IE »