Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX]problem z IE
marcus753
post
Post #1





Grupa: Zarejestrowani
Postów: 281
Pomógł: 3
Dołączył: 8.06.2009
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Mam taki skrypcik

  1.  
  2. // tworzymy zmienna
  3. var object = false;
  4.  
  5. // tworzymy obiekt XMLHttpRequest (dla IE jest troche inaczej, stad funkcja warunkowa)
  6. if (window.XMLHttpRequest) object = new XMLHttpRequest();
  7. else if (window.ActiveXObject) object = new ActiveXObject("Microsoft.XMLHTTP");
  8.  
  9. // ponizsza funkcja pobiera dane ze wskazanego zrodla (pliku lub skryptu php) do wskazanego
  10. // DIVa poprzez obiekt XMLHttpRequest
  11. function getData(dataSource, divID)
  12. {
  13. // kontynuuje wylacznie gdy obiekt nie jest zajety
  14. if (object.readyState==4 || object.readyState==0)
  15. {
  16. // tworzy zmienna odpowiadajaca konkretnemu obiektowi na stronie
  17. var obj = document.getElementById(divID);
  18.  
  19. // czyta z pliku lub wykonuje skrypt
  20. object.open("GET", dataSource);
  21.  
  22. // definiuje metode obslugi odpowiedzi serwera
  23. object.onreadystatechange = function()
  24. {
  25. // kontynuuje jesli transmisja zostala zakonczona powodzeniem
  26. if (object.readyState == 4 && object.status == 200)
  27. obj.innerHTML= object.responseText;
  28. }
  29. // wysyla zadanie do serwera
  30. object.send(null);
  31. }
  32. }
  33.  
  34. // w ponizszej funkcji wywolujemy funkcje getData z odpowiednimi parametrami
  35. // oraz wywolujemy ja sama rekurencyjnie po co okreslony czas (w naszym wypadku 1000 ms)
  36. function odswiezaj()
  37. {
  38. getData('czat1.php','czat');
  39. setTimeout("odswiezaj()", 1000);
  40. }
  41.  
  42.  
  43. </head>
  44. <div style="border:1px solid blue; height:280px;" id="czat"></div>
  45.  
  46. <script language=javascript>
  47. odswiezaj();
  48. </div>
  49.  
  50. </body>
  51. </html>


skrypt co 1s wykonuje plik czat1.php (w tle i wyświetla jego zawartość w divie)

Wszystko działa idealnie pod mozilla i opera a oczywiscie w IE nie dziala ; (IMG:style_emoticons/default/sadsmiley02.gif) Co może być źle (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/sciana.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
celbarowicz
post
Post #2





Grupa: Zarejestrowani
Postów: 253
Pomógł: 31
Dołączył: 30.03.2009
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


sprawdź to....
  1. <html>
  2.  
  3. <head>
  4.  
  5. function getNewHttpObject(){
  6. if (typeof XMLHttpRequest != "undefined" ){return new XMLHttpRequest();}
  7. else if (window.ActiveXObject) {
  8. var aVersions=["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0",
  9. "MSXML2.XMLHttp","Microsoft.XMLHttp"];
  10. for (var i=0; i < aVersions.length; i++){
  11. try{
  12. var oXmlHttp=new ActiveXObject(aVersions[i]);
  13. return oXmlHttp;
  14. } catch (oError) { }
  15. }
  16. }
  17. throw new Error("Nie można utworzyć obiektu XMLHttp.");
  18. }
  19. //----------------------------------------
  20. function podstaw(zrodlo,cel){
  21. var nowy = getNewHttpObject();
  22. nowy.onreadystatechange = function() {if (nowy.readyState == 4) {
  23. if (nowy.status == 200) {
  24. document.getElementById(cel).innerHTML = nowy.responseText;
  25. } else {
  26. document.getElementById(cel).innerHTML="<p><span class='redtxt'>Error!<\/span> HTTP request return the following status message:&nbsp;" + theHttpRequest.statusText +"<\/p>";
  27. }
  28. }
  29. };
  30. nowy.open("POST", zrodlo);
  31. nowy.send(false);
  32. }
  33.  
  34.  
  35.  
  36. function odswiezaj()
  37.  
  38. {
  39.  
  40. podstaw('napis.php','czat');
  41.  
  42. setTimeout("odswiezaj()", 1000);
  43.  
  44. }
  45.  
  46. </script>
  47. </head>
  48.  
  49. <body>
  50.  
  51. <div style="border:1px solid blue; height:80px; width:200px;" id="czat"></div>
  52.  
  53. <script language=javascript>
  54.  
  55. odswiezaj();
  56.  
  57. </script>
  58.  
  59. </div>
  60.  
  61. </body>
  62.  
  63. </html>
  64.  
  65.  

na moim IE działa w napis.php umieściłem: echo $obecna_data_i_godzina=date("Y-m-d H:i:s",time()); ODEZWIJ SIE
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 23:05