18. februar 2003 - 19:39Der er
11 kommentarer og 1 løsning
Refresh i ASP/HTML chat uden blink og lyd !
Hejsa !
Jeg har et stort problem ! Jeg har lavet en 3D chat, og i denne chat refrehser jeg hele tiden, fordi man skal jo se når der sker noget :o) mit problem er at de ikke ser så fedt ud når der hele tiden kommer en hvid skærm ! I chatten bruger jeg meget HTML funktionen DIV da det er nemt at sætte ting over hele siden !
Mit spørgsmål er så: Kan de lade sig gøre at fjerne det og stadig kunne vise HTML funktionen DIV i den usynlige frame ?
En anden ting: Jeg har lavet felter som Hot Spot :o) og når man så klikker på et kan man se Hot spottet ! Kan jeg gøre så det ikke bliver markeret?
Det skal lige siges at jeg har kigget på andre spørgsmål men uden held !
Ja - det kan lade sig gøre ved at du fx henter et nyt javascript med de indlæg der skal vises.
Hvis du har en <script id="hentnyt" src="jsChats.asp"></script> kan du hver xx sekund ændre src med newDate=new Date(); document.getElementById("hentnyt").src="jsChats.asp?t="+newDate.valueOf; (?t=... er for at den ikke cacher filen)
jsChats.asp skal så indeholde jscript kode til at opdatere indlægene på skærmen. Det kan være som en stor klump tekst chatDiv.innerHTML="en række linier med <br> linieskift"; eller med funktioner som ændrer linie for linie.
Jeg er doven, så jeg viser kun et eksempel på den nemme:
Du laver jsChats.asp med fx: <% 'et eller andet til at hente indlæg ChatLinier="en række linier med <br> linieskift"; %>document.getElementById("ChatDiv").innerHTML="<%=ChatLinier%>"; <% ' Det var det %>
Den med Hot spots: Brug onclick til at "blurre" dit hotspot. onclick="this.blut();"
Det bliver en noget kringlet gang javascript der skal til for at opdatere den. Jeg lagde ikke lige mærke til at du skrev 3D-chat.
Men det kan da lade sig gøre, det kommer bare til at tage lidt tid at lave den.
Først skal alle dine div'er have et unikt ID. Det kan du gøre med fx: <DIV id="humor<%= rs("brugerid") %>"
Nu kan du med javascript flytte rundt på dine "avitars" ved at ændre på fx document.getElementByID("humor3").style.left=xxx
Du kan slette en bruger der har forladt rummet med divUdenomBrugerne=document.getElementByID("divUdenomBrugerne"); divUdenomBrugerne.removeChild(document.getElementByID("humor3"))
Og oprette en ny bruger med newUserHumor=document.createElement("DIV"); newUserHumor.id="humor"+nyid; newUserHumor.style.position="absolute"; newUserHumor.innerHTML="<img src=.....>"; divUdenomBrugerne.appendChild(newUserHumor); osv
Meen - det bliver jo en ordentlig omgang.
Du kan jo også sætte et metatag ind i på siden, der i det mindste i IE får den til at vente med at vise noget indtil den er færdig med siden. <META http-equiv="Page-Enter" CONTENT="RevealTrans(Duration=0, Transition=4)">
Og så selvfølgelig sørge for at siden er så lille som mulig (i en iframe), og med så pæn html som muligt.
Og jo. Selvfølgelig kan du bare hente den i en anden side. Lav en iframe <iframe src="hentchat.asp" name="hentChat"></iframe> hentchap.asp skal indeholde alt det du udskriver i din While not rs.eof and count > 0 inden i en <body onload="parent.visChat(this)"> (og med en <meta http-equiv="refresh... eller hvad du bruger til at refreshe chatten med i dag)
I den nuværende side skal du så have et visChat script, og din while not rs.eof... skal ud. Der skal bare være en div med en id, som du kan referere til og proppe det nye indhold i. Lad os sige den hedder <div id="divChat"></div> <script> function visChat(newBody) { document.getElementById("divChat").innerHTML=newBody.innerHTML; } </script>
Hmm ! Jeg tror jeg er ved at fange det nu ! Desværre har jeg ikke tid til at afprøve det, men når jeg går igang skal det nok virke ! Du har hvert fald givet mig ideen !
Synes godt om
Ny brugerNybegynder
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.