Avatar billede kwudo Nybegynder
11. februar 2007 - 19:32 Der er 13 kommentarer og
1 løsning

3d chat

X Hej alle sammen.

jeg er ved at lave en simpel 3d chat i php og js.
nu er jeg så kommet til et lidt velkendt problem, vil gerne have det opdatere uden blink og klik lyd.

Kan det lade sig gøre og er der evt. Nogen der har en præcis vejldedning til det, evt. Noget med ajax har jeg læst, i de andre spørgsmål.

Har prøvet det med olebole chatten, men kan ikke finde ud af at tage koden ud af hans script hvis i forstår, altså ikke noget med filer hvor det er i.

En god guide :-)

Eller hjælp fra jer.

m.v.h.
rasmus
Avatar billede thesurfer Nybegynder
11. februar 2007 - 21:34 #1
Hvis det er reload-delen, skal du bare bruge ".reload(true);"..
Avatar billede kwudo Nybegynder
11. februar 2007 - 21:58 #2
altså har jo kodet det mest nødvendige,

function Refresh() {
  location.href = "side";
}
setTimeout("Refresh();",1000);
Avatar billede thesurfer Nybegynder
12. februar 2007 - 00:06 #3
Prøv med: setTimeout("window.location.reload(true)",1000);
Avatar billede kwudo Nybegynder
12. februar 2007 - 00:19 #4
så blinker/klikker det ik?
Avatar billede kwudo Nybegynder
12. februar 2007 - 00:20 #5
Vil sige, det gjorde det hele lidt værre :b
Klik lyden er væk, men blinket er kraftigere og den loader baggrund og hele pisset forfra.
Avatar billede thesurfer Nybegynder
12. februar 2007 - 01:15 #6
Du har i øjeblikket 2 problemer:
1) Klik-lyd
2) Blink

#1: Klik-lyden fjerner du med window.location.reload(true)
#2: Blinket undgår du, ved at lade den reloadende side (den fra #1) opdatere chat-vinduets chat-box, som højst sandsynligt er en div-box

Hvordan #2 skal laves, kommer an på hvordan din kode ser ud, der opdaterer chat-boxen, der indeholder chatten (teksten).
Avatar billede kwudo Nybegynder
12. februar 2007 - 02:32 #7
Kan jeg gøre således:

  function Refresh() {
  location.href = "fil.php";
}
setTimeout(windo.location.reloa,true,1000);
Avatar billede kwudo Nybegynder
12. februar 2007 - 02:32 #8
selvfølgelig med rigtige stavelser i window og reload :P
Avatar billede kwudo Nybegynder
12. februar 2007 - 02:35 #9
har nu prøvet samtlige måder, både den du skrev og den jeg selv lavede.

Får altså stadig kliklyden?
Avatar billede thesurfer Nybegynder
12. februar 2007 - 05:31 #10
Jeg har, af en eller anden mystisk årsag, først lige nu fået mail ang dine indlæg..

Dette burde virke til #1: setTimeout("window.location.reload(true)",1000);

Jeg ved ikke hvordan din kode til #2 ser ud..

Men det skal være noget i stil med: top.document.getElementById("chatbox").innerHTML = EnStreng;

Hvor
- "chatbox" er div-elementet med teksten
- EnStreng er den opdaterede tekst (der indeholder de nyeste beskeder), som skal vises


Men som sagt, ved jeg ikke hvordan din kode ser ud..
Smid den lige herind..
Avatar billede melieha Nybegynder
12. februar 2007 - 07:55 #11
Det er vel bare at lave et AJAX kald, og så først åbne siden når AJAX melder at siden er fuld loadet :)
Hvis du bruger lidt tid på at læse på emnet så vil du se at det sikkert også er nemmere og mere brugbart end alle de andre løsninger ;)
Avatar billede kwudo Nybegynder
12. februar 2007 - 14:13 #12
melieha har du nogle tutorials, eller links til det?
Dansk, engelsk gør ikke så meget.
Avatar billede kwudo Nybegynder
12. februar 2007 - 14:25 #13
har fundet følgene script på:
http://www.sitepoint.com/article/build-your-own-ajax-web-apps/2

Og scriptet opdatere skam den test side man laver derinde, men hvordan skal jeg tilpasse det?
Altså hvilke steder skal ændres?

Example 2.26. appmonitor1.js

var start = 0;
var ajax = new Ajax();

var doPoll = function() {
start = new Date();
start = start.getTime();
ajax.doGet('/fakeserver.php?start=' + start, showPoll);
}

window.onload = doPoll;

var showPoll = function(str) {
var pollResult = '';
var diff = 0;
var end = new Date();
if (str == 'ok') {
  end = end.getTime();
  diff = (end - start)/1000;
  pollResult = 'Server response time: ' + diff + ' seconds';
}
else {
  pollResult = 'Request failed.';
}
printResult(pollResult);
var pollHand = setTimeout(doPoll, 15000);
}

function printResult(str) {
var pollDiv = document.getElementById('pollDiv');
if (pollDiv.firstChild) {
  pollDiv.removeChild(pollDiv.firstChild);
}
pollDiv.appendChild(document.createTextNode(str));
}
Avatar billede kwudo Nybegynder
14. februar 2007 - 12:32 #14
lukker her
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