Flux rss
Collection CommentCaMarche.net
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


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas 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
[Webmaster] Afficher des PNG transparents dans IE 5.5 et IE 6 Le problème Les PNG transparents permettent de faire de très beaux effets sur les pages web. Tous les navigateurs le supportent (Firefox, Opera, Konqueror, Safari, Camino...)... sauf Internet Explorer 5.5 et 6 ! (Internet Explorer 7, lui, supporte... www.commentcamarche.net/faq/sujet-4641-webmaster-afficher-des-png-transparents-dans-ie-5-5-et-ie-6
Problème de compatibilité pour Firefox (Résolu) Bonjour, Comment rendre une page compatible avec Firefox, Opera ou Safari sous Dreamweaver 8? D'avance, merci... www.commentcamarche.net/forum/affich-9709163-probleme-de-compatibilite-pour-firefox
Javascript et mozilla/firefox (Résolu) Bonjour, J'ai une page dans laquelle, j'utilise un javascript qui fonctionne parfaitement sous IE mais dès que je le teste sur Firefox, il ne fonctionne plus. www.commentcamarche.net/forum/affich-7580257-javascript-et-mozilla-firefox
[Tutoriels] Tutoriels de logicielsINTRODUCTION 1- Pour Windows en général 2- Sécurité Les antivirus Les pare-feux Les anti-spywares 3- Les navigateurs Web Firefox Opera 4- Les courrielleurs 5- Les nettoyeurs 6- Gravure 7- Manipulation de fichiers audio/vidéo 8-... www.commentcamarche.net/faq/sujet-3045-tutoriels-tutoriels-de-logiciels
[MacOS] FireFox -- tabulation et formulaireAvec FireFox sous MacOS (problème rencontré sour MacOsX Panther & Tiger / FireFox toutes versions) la navigation dans un formulaire web avec la touche [tab] peut réserver quelques surprises. Par défaut, la tabulation ne permet de se déplacer que de... www.commentcamarche.net/faq/sujet-2401-macos-firefox-tabulation-et-formulaire
Personnaliser FirefoxVoici quelques conseils pratiques qui vous permettront de créer et personnaliser une interface navigateur qui vous ressemble ! Ajouter une icône Changer d'aspect en installant un nouveau thème Installer des extensions... www.commentcamarche.net/faq/sujet-9693-personnaliser-firefox
Autoriser javascript sous "internet explorer& (Résolu)Bonjour, N'utilisant pas personnellement IE, j'ai une petite application locale en HTML, CSS et javascript qui fonctionne sans souci sous Firefox et Opéra mais avec IE, le code javascript est systématiquement bloqué et il faut, à chaque... www.commentcamarche.net/forum/affich-4953732-autoriser-javascript-sous-internet-explorer
Javascript : changer un lien (Résolu)Bonjour tout le monde! Je m'adresse à vous car j'ai un problème de programmation Javascript, langage que je connais peu il est vrai. Premièrement, mon code fonctionne bien sous Firefox, mais pas sous IE (utilisé par encore une majorité de... www.commentcamarche.net/forum/affich-3577632-javascript-changer-un-lien
Probleme mise en page ie (Résolu)Bonjour, j'ai un problème sur un site que je suis en train de faire. La mise en page est exactement comme je le désire sur firefox et sur safari, mais il y a des espacements qui se rajoutent en plus sur IE. Ce serait super cool si vous pouviez... www.commentcamarche.net/forum/affich-7433411-probleme-mise-en-page-ie
Javascript: les opérateursQu'est-ce qu'un opérateur? Les opérateurs sont des symboles qui permettent de manipuler des variables, c'est-à-dire effectuer des opérations, les évaluer, ... On distingue plusieurs types d'opérateurs : les opérateurs de calcul les opérateurs... www.commentcamarche.net/contents/javascript/jsop.php3
Javascript - Introduction au langage JavascriptQu'est-ce que le Javascript? Le Javascript est un langage de script incorporé dans un document HTML. Historiquement il s'agit même du premier langage de script pour le Web. Ce langage est un langage de programmation qui permet d'apporter des... www.commentcamarche.net/contents/javascript/jsintro.php3
Javascript - Les événementsQu'appelle-t-on un événement? Les événements sont des actions de l'utilisateur, qui vont pouvoir donner lieu à une interactivité. L'événement par excellence est le clic de souris, car c'est le seul que le HTML gère. Grâce au Javascript il est... www.commentcamarche.net/contents/javascript/jsevent.php3