Bonjour à tous !
En cette belle journée ensoleillée j'ai un problème avec AJAX sous IE.
Le principe est simple, sur ma page html j'ai un menu a gauche et un <div> de contenu à droite.
Dans mon menu j'ai des liens avec une fonction JS qui va changer le contenu du <div> en allant lire un fichier html par XHR. Sous Firefox tout fonctionne, et sous IE... Rien
Quand j'ouvre ma page sur IE, j'ai l'avertissement de contenu ActiveX, j'active le contenu en question, mais rien n'y fais, en bas j'obtiens l'erreur JS suivante :
Détails de l’erreur de la page Web
Agent utilisateur : Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727)
Horodateur : Thu, 30 Jul 2009 12:49:25 UTC
Message*: Accès refusé.
Ligne*: 47
Caractère*: 3
Code*: 0
URI*: file:///E:/_DEV/js/functions.js
La ligne 47 en question est celle ci : xhr_object.open("GET", "pages/"+contenu, true);
Le script que j'utilise est disponible un peu partout sur le net (du coup je le pense fonctionnel) donc je ne comprend pas qu'il ne marche pas chez moi... Un problème avec IE8 ? Mon poste est mal paramètré ? (j'ai testé sur 2 PC avec IE8)
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 function setContenu(zone, contenu) { var xhr_object = null; if(window.XMLHttpRequest) // Firefox xhr_object = new XMLHttpRequest(); else if(window.ActiveXObject) // Internet Explorer { try { // Pour IE > 6 xhr_object = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { // Pour IE < 7 xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); } } else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest. Contactez l'administrateur du site."); return; } xhr_object.open("GET", "pages/"+contenu, true); xhr_object.onreadystatechange = function() { if(xhr_object.readyState == 4) { // alert(xhr_object.responseText); // DEBUG MODE // document.write(xhr_object.responseText); document.getElementById(zone).innerHTML = xhr_object.responseText; document.getElementById('gelule').innerHTML = tab_link[contenu]; } } xhr_object.send(null); }
Je suis prêt à entendre toutes vos propositions, merci d'avance![]()
Partager