Avatar billede mini-me Nybegynder
12. august 2009 - 15:58 Der er 5 kommentarer og
1 løsning

AJAX

Hej,

Jeg kan ikke få nedestående til at virke i IE 8, virker i ff og ie 7.

Men kun KitchenShow(); den anden funktion udebliver... jeg har en fornemmelse af at det er fordi jeg bruger samme navn til at kalde objektet?

Nogen som kan hjælpe med at optimere det.

    function KitchenShow()
    {
    xmlhttp=null;
    if (window.XMLHttpRequest)
      {// code for Firefox, Opera, IE7, etc.
      xmlhttp=new XMLHttpRequest();
      }
    else if (window.ActiveXObject)
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    if (xmlhttp!=null)
      {
      // function inside function
      xmlhttp.open("GET","/scripts/slideshow/randomfile.asp?folderName=essenza",true);
      xmlhttp.onreadystatechange=function KitchenShow_state_Change()
            {
            if (xmlhttp.readyState==4)
              {// 4 = "loaded"
              if (xmlhttp.status==200)
                {// 200 = "OK"
                document.getElementById("kitchenImage").src=xmlhttp.responseText;
                document.getElementById("kitchenLink").href=xmlhttp.responseText;
                }
              else
                {
                alert("Problem retrieving data:" + xmlhttp.statusText);
                }
                xmlhttp = null;
              }
            }
      xmlhttp.send(null);
      }
    else
      {
      alert("Your browser does not support XMLHTTP.");
      }
     
      setTimeout("KitchenShow()",4000);
    }
   
    function SlideShow()
    {
    xmlhttp=null;
    if (window.XMLHttpRequest)
      {// code for Firefox, Opera, IE7, etc.
      xmlhttp=new XMLHttpRequest();
      }
    else if (window.ActiveXObject)
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    if (xmlhttp!=null)
      {
      xmlhttp.open("GET","/scripts/slideshow/randomfile.asp?folderName=slideshow",true);
      // function inside function
      xmlhttp.onreadystatechange=function SlideShow_state_Change()
            {
            if (xmlhttp.readyState==4)
              {// 4 = "loaded"
              if (xmlhttp.status==200)
                {// 200 = "OK"
                document.getElementById("SlideShowImage").src=xmlhttp.responseText;
                document.getElementById("SlideShowLink").href=xmlhttp.responseText;
                }
              else
                {
                alert("Problem retrieving data:" + xmlhttp.statusText);
                }
                xmlhttp = null;
              }
            }
      xmlhttp.send(null);
      }
    else
      {
      alert("Your browser does not support XMLHTTP.");
      }
      setTimeout("SlideShow()",4000);
    }

    SlideShow();
    KitchenShow();
Avatar billede Slettet bruger
12. august 2009 - 17:08 #1
Når du kalder KitchenShow nulstiller den xmlhttp objektet (xmlhttp=null;) som SlideShow er i gang med at bruge. Derfor virker kun den funktion du kalder sidst i koden.

Det kan laves på to måder. Enter at bruge to forskellige navne til xmlhttp objektet, eller ved at lade den ene funktion kalde den anden når den er færdig.
Avatar billede mini-me Nybegynder
12. august 2009 - 22:10 #2
Hmm... ok - men hvorfor virker det ikke i IE 8?
Avatar billede olebole Juniormester
12. august 2009 - 23:45 #3
<ole>

Hvad betyder det, at det ikke virker?
Hvad sker der?
Hvad sker der ikke?
Får du JS-fejl - og hvad siger de?
Er JS-fejlmeldinger overhovedet slået til?

/mvh
</bole>
Avatar billede mini-me Nybegynder
03. september 2009 - 14:32 #4
Smid begge et svar. Tømte min Temp files og så virkede det.
Avatar billede Slettet bruger
03. september 2009 - 17:08 #5
Tillykke.
Jeg er glad for at du fik det til at virke :)
Avatar billede olebole Juniormester
03. september 2009 - 22:11 #6
Det må være kimseys - men tak for tanken  =)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester