Bonjour,
je développe dans le cadre de mon entreprise un applicatif d'emailing avec tracking etc ...
Dans le menu de gestion d'images je rencontre un petit soucis d'incompatibilité avec firefox et IE 7.
Je vous explique les fonctionnalités de cette page :
toute simple, fonction php qui fait un listing des images présentes dans le répertoire sur la droite un petit encadré ( fieldset avec pour nom Aperçu ),
Et à l'aide d'ajax lorsque je passe la souris sur les noms d'images, une fonction php miniaturise l'image et un petit aperçu apparaît dans l'encadré. Jusque la tout va bien ( que ce soit sous firefox ou IE).
Une autre fonctionnalité de cette page est la suppression d'images. En effet, pour supprimer j'ai également utiliser de l'ajax qui dès que l'on clique sur le nom d'une image supprime l'image du fichier puis fait un reload de la page pour faire disparaître le nom de l'image de la liste.
Le problème ( il en fallait bien un ), et que sous firefox tout cela se passe bien par contre sous IE 7, c'est la cata. La page ne s'actualise pas
Voici ma fonction :
Code :
- function Suppression(img) {
- if (window.XMLHttpRequest) { // Mozilla, Safari, ...
- XmlReq = new XMLHttpRequest();
- }
- else if (window.ActiveXObject) { // IE
- XmlReq = new ActiveXObject("Microsoft.XMLHTTP" );
- }
- else {
- alert('Ca marche pas');
- }
- XmlReq.onreadystatechange= function () {
- if (XmlReq.readyState == 4) {
- if (XmlReq.status == 200) {
- document.location.reload();
- }
- else {
- alert(XmlReq.status+" : "+XmlReq.statusText);
- }
- }
- };
- var donnees= "img="+img;
- XmlReq.open('POST','suppression_img.php',true);
- XmlReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded" );
- XmlReq.send(donnees);
- }
|
Pour essayer de repérer le disfonctionnement, j'ai positionné 2 alerts :
Code :
- function Suppression(img) {
- if (window.XMLHttpRequest) { // Mozilla, Safari, ...
- XmlReq = new XMLHttpRequest();
- }
- else if (window.ActiveXObject) { // IE
- XmlReq = new ActiveXObject("Microsoft.XMLHTTP" );
- }
- else {
- alert('Ca marche pas');
- }
- XmlReq.onreadystatechange= function () {
- alert(XmlReq.readyState);
- if (XmlReq.readyState == 4) {
- alert(XmlReq.status);
- if (XmlReq.status == 200) {
- document.location.reload();
- }
- else {
- alert(XmlReq.status+" : "+XmlReq.statusText);
- }
- }
- };
- var donnees= "img="+img;
- XmlReq.open('POST','suppression_img.php',true);
- XmlReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded" );
- XmlReq.send(donnees);
- }
|
Voila ce que me fait IE !
Code :
- 1
- 1
- 1
- 4
- 200
- 4 (ici il devrait être dans le if)
- 200
- 4
- 200
|
puis actualisation de la page !!!
1ère remarque: la page s'actualise tout de même quand je mets les alerts.
2ème remarque: pourquoi alors que Xmlreq.status = 200 il ne rentre pas dans le if.
Voila j'espère avoir été assez clair
Je vous remercie d'avance pour vos réponses qui j'espère m'aideront héhé
Amicalement,
Julien