Slettet bruger
22. januar 2007 - 18:05
Der er
11 kommentarer
AJAX, loading på hver side
Hvordan får jeg smidt en tekst ind på hver side, som fortæller om siden er loadet eller ej. Kunne forestille mig det var noget alá følgende: var http = (browser == "Microsoft Internet Explorer") ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest(); function minFunktion() { if( http.readyState == 4 ) { document.getElementById("box").innerHTML = "loading"; } } og så bare smide minFunktion(); ind i en onload=""
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
22. januar 2007 - 19:56
#1
Vil tro at du skulle lave en recursiv setTimeout der går ind og checker hvert minut om den er færdig med at loade... og når den er stoppet holder den op...
23. januar 2007 - 00:58
#2
Når AJAX loader er readyState == 2 :-) function minFunktion() { if( http.readyState == 2 ) { document.getElementById("box").innerHTML = "loading"; } }
23. januar 2007 - 06:34
#3
-- og til detect skal du bruge den konkrete funktion, for såvidt jeg ved understøtter IE7 XMLHttpRequest: var http = (window.XMLHttpRequest) ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
Slettet bruger
23. januar 2007 - 10:12
#4
Så hvordan skal det så helt præcist se ud? Kan ikke få det til at virke
23. januar 2007 - 12:20
#5
Jeg synes ikke altid det AJAX forstår readyState == 2 så normalt når jeg laver en loading gør jeg det sådan her: <body onLoad="document.getElementById('box').innerHTML = 'Loading';"> Og så når mit AJAX readyState == 4 så skifter den bare din innerHTML igen.
23. januar 2007 - 13:06
#6
Findes der ikke en event til dette egentligt?... xmlObject.onReadyStateChange = new function(if(xmlObject.readyState<=2){document.getElementById("box").innerHTML = "loading";}else{document.getElementById("box").innerHTML = "";}} Nogen der kan bekræfte om dette ville virke?... Eller som har noget viden om det...
23. januar 2007 - 13:08
#7
Hehe.. gik vist lidt for stærkt med at få den kode ud :p xmlObject.onReadyStateChange = new function(){if(xmlObject<=2){document.getElementById("box").innerHTML = "loading";}else{document.getElementById("box").innerHTML = "";}
23. januar 2007 - 13:10
#8
Argh glem det... i kan vel se hvad jeg pønser på hehe...
23. januar 2007 - 16:33
#9
-- og hvis man virkelig bevæger sig over i noget med X(HT)ML, findes innerHTML slet ikke (hvad den i øvrigt heller ikke gør i nogen standard !-) -- så brug rene DOM-metoder, f.eks. document.getElementById("box").appendChild(document.createTextNode("Loading ...")); -- eller .replaceChild(document.createTextNode("Loading ...")) eller .fistChild.nodeValue = "Loading ..." !o]
23. januar 2007 - 18:07
#10
Bare sjovt med de forsøg jeg har set hvor innerHTML har været hurtigere end createTextNode... gad vide hvorfor?... hehe
Slettet bruger
23. januar 2007 - 20:57
#11
Så hvordan kan et færdigt dokument se ud?
Vi tilbyder markedets bedste kurser inden for webudvikling