Bonjour,
J'ai un problème que je n'arrive pas à solutionner.
Dans une page web Normal (pas un frameset) je charge un iframe comme suit:
C'est ce que j'appelle mon robot sur la page!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 echo '<div class="bot_box">'; echo '<img src="fav.jpg" width="245" height="15" alt="Bot" name="ajax" onClick="request();"> '; echo '<form name="adder" action="none">'; echo ' <input id="output" type="text" name="output" class="bot_input" size="35">'; echo '</form>'; echo '<iframe name="test" SRC="../ajax_http.php" scrolling="no" height="300" width="245" FRAMEBORDER="no"></iframe>'; echo '</div>';
Donc voila. Je veux me servir de ce robot pour afficher de l'information sans que la page recharge. Ajax quoi!!
Ça fonctionne bien. si on tape quelque chose dans la champs texte et que l'on clique sur l'image
les fonction javascript suivante sont appelé:
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 getXMLHttpRequest() { var xhr = null; if (window.XMLHttpRequest || window.ActiveXObject) { if (window.ActiveXObject) { try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { xhr = new XMLHttpRequest(); } } else { alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest..."); return null; } return xhr; } function request() { var xhr = getXMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) { parent.test.document.open(); parent.test.document.write(xhr.responseText); parent.test.document.close(); } }; var sVar1=document.getElementById('output').value; var sVar2 = encodeURIComponent("string"); xhr.open("GET", "ajax_http.php?variable1=" + sVar1 + "&variable2= " + sVar2, true); xhr.send(null); }
Donc j'envoie les variables vers un fichier php qui les traites.
Tout ça fonctionne mais je le poste pour que vous soyer en mesure de m'aider a comprendre ceçi.
Dans FireFox, quand je charge ma page elle s'affiche comme elle se doit. Mais la première fois que je clique sur l'image, FireFox réagit d'une drôle de façon. Il réduit la taille du contenu de ma page. Comme si ma page se retrouvait dans un frame après la première requête. Ensuite ça marche bien.
Vous pouvez tester avec firefox ici
Avec IE 8 Ca marche très bien la page reste fixe.
Avec FireFox C'est vraiment pas jolie, C'est pire qu'un refresh!!
Merci de votre temps.
Partager