Avatar billede punnishment Nybegynder
11. april 2002 - 14:18 Der er 19 kommentarer og
1 løsning

Javascript i innerHTML

1. Er det muligt?? altså jeg vil sende nye oplysninger til div'en...: (ret lige den der)

document.all.chat_frame.innerHTML = '<a href="#" OnClick="document.chatform.to.value='navn';">Name</a>'

2. Når jeg køre en document.all.server.src = 'load.asp'; hver 2,5'de sekundt og kommer der ikke nye oplysninger frem. Kun de gamle som allerede var der, de ny indtastede virker ikke. Det må være noget med chache at gøre - men i en .js fil er der jo ikke header. Og det virker heller ikke at tilføje den der no-chache til default siden.... hvordan får jeg de nye oplysninger frem?


virker det ikke hvis jeg reloader siden.
Avatar billede Slater Ekspert
11. april 2002 - 14:20 #1
document.all.chat_frame.innerHTML = '<a href="#" OnClick="document.chatform.to.value=\'navn\';">Name</a>'
Avatar billede punnishment Nybegynder
11. april 2002 - 14:21 #2
mange tak for det hurtige svar.... Hvad med spørgsmål 2??
Avatar billede Slater Ekspert
11. april 2002 - 14:23 #3
Hmm, jeg kan kun tænke mig til at lægge det i en cookie, og så skrive det til siden hver gang den loader.
Avatar billede Slater Ekspert
11. april 2002 - 14:24 #4
Eller det var måske ikke det du mente. Prøv lige at uddybe.
Avatar billede punnishment Nybegynder
11. april 2002 - 14:26 #5
Altså jeg har f.eks. 1 record i min database denne dims kommer frem via...

function load() {
document.all.server.src = 'load.asp';
setTimeout('load();',2500);
}


men når jeg tilføjer nye oplysninger til databasen kommer der ikke nye oplysninger frem i den der chat_frame
Avatar billede Slater Ekspert
11. april 2002 - 14:29 #6
Hmm.. det er noget med caching, ja. Er "server" en iframe?? I så fald så prøv at skrive server.src.location.reload(), det skulle hente den fra server igen.
Avatar billede punnishment Nybegynder
11. april 2002 - 14:30 #7
altså div'en
Avatar billede punnishment Nybegynder
11. april 2002 - 14:31 #8
nope... som jeg siger...!

jeg henter nye oplysninger via en den der kode som henter den side hver 2,5'de sekundt!

men den chacher nærmest den document (jeg kan kun have javascript og ASP i den document) da det burde være en .js fil, forstår i?
Avatar billede punnishment Nybegynder
11. april 2002 - 14:32 #9
og koderne i load.asp skriver direkte til en div i samme document hvor den der load funktion udføres...

load.asp::
document.all.chatframen.innerHTML = 'nye oplysninger+gamle';
Avatar billede olebole Juniormester
11. april 2002 - 16:24 #10
<ole>
punnishment >> Du skriver ikke synderlig tydeligt. Kunne du ikke lægge en URL til et eksempel? Så undgår vi at sidde og lege quiz  ;o)
/mvh
</bole>
Avatar billede olebole Juniormester
11. april 2002 - 16:27 #11
server.src.location.reload(true) vil reloade udenom cashe'en.
Du kan også skrive noget:

var inx = 0;
function load() {
document.all.server.src = 'load.asp?'+inx;
inx++;
setTimeout('load();',2500);
}

Det kommer helt an på, hvordan du har lavet din chat.
URL, please  ;o)
/mvh
Avatar billede olebole Juniormester
11. april 2002 - 16:28 #12
vrøvl ..... server.location.reload(true) ... selvfølgelig  ;o)
Avatar billede punnishment Nybegynder
11. april 2002 - 23:27 #13
Jeg har html siden med div tagget


<html>
<script>
function load() {
document.all.server.src = 'load.asp';
setTimeout('load();',2500);
}
</script>
<body onload="load();">

<div id="chatframe"></div>
</body>
</html>

inde i chatframen står der de brugernavne som er tilføjet venne listen men der kommer ikke nye oplysninger frem hvis jeg tilføjer en ny bruger til vennelisten... hvorfor???



den er smart den med at man loader en ny URL hver gang - men den må være trals i længden for brugerne - er der ikke en smartere måde?
Avatar billede punnishment Nybegynder
11. april 2002 - 23:34 #14
og siden må ikke opdateres.....!! kun hvis brugeren selv gør det (ved at skifte side eller F5 eller bare Opdater knappen)


men det virker heller ikke rigtig det med at åbne en ny side nærmest  load.asp?loading=1,2,3,4,5,6,7,8......................
Avatar billede punnishment Nybegynder
11. april 2002 - 23:36 #15
olebole> det virker faktisk, men ikke hvis man skifter side... Så starter den forfra igen med int, altså 1,2,3,4,5,6,7..... og de sider er jo hentet...

så det er ikke den smarteste funktion.. er der ikke en anden måde?
Avatar billede olebole Juniormester
11. april 2002 - 23:57 #16
function load() {
  var inx = new Date().getTime();
  document.all.server.src = 'load.asp?'+inx;
  setTimeout('load();',2500);
}

Klarer det med den unikke URL.
Kaldet fra ASP-framen, skal se sådan ud:
  parent.document.all.chatframen.innerHTML = 'nye oplysninger+gamle';
/mvh
Avatar billede olebole Juniormester
11. april 2002 - 23:58 #17
'chatframen' eller 'chatframe' ... alt efter, hvad du kalder div'et  ;o)
Avatar billede punnishment Nybegynder
12. april 2002 - 12:25 #18
mange tak det virker!!


men jeg har så et spørgsmål mere:
Har denne funktion en bivirkning? Altså vil det belaste for meget når det er en ny url hver gang eller??
Avatar billede olebole Juniormester
12. april 2002 - 18:24 #19
Det vil jeg ikke mene - men hvor meget er 'for meget'?  ;o)
/mvh
Avatar billede punnishment Nybegynder
13. april 2002 - 00:58 #20
nu når jeg tænker mig om er det jo ligegyldigt...

om jeg loader 'load.asp' eller 'load.asp?<datoen>' er jo fuldstændig ligegyldigt. Det må jo belaste lige meget, såå du får dine points..


jeg takker enu engang for hjælpen
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