Avatar billede a-torsten Nybegynder
29. marts 2001 - 16:50 Der er 11 kommentarer og
1 løsning

realtime opdatering

Hej med jer java-nørder...

Hvordan laver man følgende på den mest simple måde.....
Jeg skal have en side som hedder fx side1.htm

På den side skal der være noget javasjov som henter noget tekst fra en anden side (side2.htm)
Det skal være sådan at hvis man fx. tilføjer noget til side2.htm, så opdatere side1.htm automatisk uden at reloade.....

Det er lidt som man kender fra chatsystemer osv....

Ønskes mere forklaring eller er den klar nok..??

-Anders

Eksempel tak...
Avatar billede a-torsten Nybegynder
29. marts 2001 - 16:51 #1
Hvis det er DHTML der skal til, så er det selvfølgelig oxo velkommen..

-Anders
Avatar billede a-torsten Nybegynder
29. marts 2001 - 17:10 #2
Hmm.... Det er første gang jeg har været ude for at man skulle vente så længe....*gg*...
Avatar billede nikolajdu Nybegynder
29. marts 2001 - 17:19 #3
Aner ikke om det her vil virke, men det er da et bud... :-)

window.opener.document.formNavn.feltNavn.value = document.form2.feltnavn2.value;
Avatar billede a-torsten Nybegynder
29. marts 2001 - 17:25 #4
Det skal helt ikke være noget med forms osv... det skal være så det bliver skrevet direkte i browseren...

Sætter lige point op til 100...

Vil gerne have noget håndgribeligt..... Altså gerne et komplet eksempel..
Avatar billede netsrac Praktikant
29. marts 2001 - 17:32 #5
Okay...here goes:

Dette script på den side der skal opdateres automatisk:

<SCRIPT LANGUAGE=\"JavaScript\">
  if (navigator.appName==\"Netscape\")
  {
  document.writeln(\'<Layer name=\"layerNC\" visibility=\"show\"><FONT FACE=\"Tahoma\" SIZE=\"2\">Velkommen <%=session(\"nick\")%>....Chatten Starter......Vent venligst</FONT></Layer>\');
  }
  if (navigator.appName==\"Microsoft Internet Explorer\")
  {
  document.writeln(\'<Div id=\"layerIE\" CLASS=\"chat\"><FONT FACE=\"Tahoma\" SIZE=\"2\">Velkommen <%=session(\"nick\")%>....Chatten Starter......Vent venligst</FONT></Div>\');
  }
</SCRIPT>


En skjult frame med en side indeholdende det her:

<HTML>
<HEAD>
<SCRIPT LANGUAGE=\"JavaScript\">

function update()
{
  if (navigator.appName==\"Microsoft Internet Explorer\")
  {
  parent.info.layerIEtop.innerHTML = \'<FONT FACE=\"Tahoma\" SIZE=\"1\" COLOR=\"FFFFFF\">her loades nyt indhold af layeret</FONT>\';
  }
  if (navigator.appName==\"Netscape\")
  {
  self.parent.info.document.layers.layerNCtop.document.open();
  self.parent.info.document.layers.layerNCtop.document.write(\'<FONT FACE=\"Tahoma\" SIZE=\"1\" COLOR=\"FFFFFF\">her loades nyt indhold af layeret</FONT>\');
  self.parent.info.document.layers.layerNCtop.document.close();
  }
 
}

function enter()
{
setTimeout(\"update()\", 2000);
}

setTimeout(\"location.reload()\", 2000);
</SCRIPT>
</HEAD>
<BODY ONLOAD=\"enter();\" BGCOLOR=\"000000\">
</BODY>
</HTML>


Det vil sige du skal lave en frame bestående af to filer, den ene med en størrelse på 0 pixels.
Den frame hvor siden som skal opdateres i skal i framesættet hedder \"info\"
Avatar billede a-torsten Nybegynder
29. marts 2001 - 17:39 #6
virker ikke .....
Avatar billede nikolajdu Nybegynder
29. marts 2001 - 17:40 #7
Netsrac - Løsningen i frames er jo simpel nok. Problemet her er vel at han vil opdatere fra et åbnet vindue til \"parent\" uden at reloade...
Avatar billede netsrac Praktikant
29. marts 2001 - 17:45 #8
Dumme slag til mig, den skjulte side skal se sådan her ud:

<HTML>
<HEAD>
<SCRIPT LANGUAGE=\"JavaScript\">

function update()
{
  if (navigator.appName==\"Microsoft Internet Explorer\")
  {
  parent.info.layerIE.innerHTML = \'<FONT FACE=\"Tahoma\" SIZE=\"1\" COLOR=\"000000\">her loades nyt indhold af layeret</FONT>\';
  }
  if (navigator.appName==\"Netscape\")
  {
  self.parent.info.document.layers.layerNC.document.open();
  self.parent.info.document.layers.layerNC.document.write(\'<FONT FACE=\"Tahoma\" SIZE=\"1\" COLOR=\"000000\">her loades nyt indhold af layeret</FONT>\');
  self.parent.info.document.layers.layerNC.document.close();
  }
 
}

function enter()
{
setTimeout(\"update()\", 2000);
}

setTimeout(\"location.reload()\", 2000);
</SCRIPT>
</HEAD>
<BODY ONLOAD=\"enter();\" BGCOLOR=\"FFFFFF\">
</BODY>
</HTML>
Avatar billede netsrac Praktikant
29. marts 2001 - 17:46 #9
nikolajdu >> Er ikke helt med på hvad du snakker om. Men her opdateres en skjult frame hvert 2. sekund, den opdaterer så indholdet på den synlige frame.
Avatar billede olebole Juniormester
29. marts 2001 - 18:54 #10
<ole>
Der er ingen grund til at bruge <layer> i NS. Den forstår ligeså godt <div> :)

function update() {
  if (document.all) {
      parent.info.myDivId.innerHTML = \'<FONT FACE=\"Tahoma\" SIZE=\"1\" COLOR=\"000000\">her loades nyt indhold af layeret</FONT>\';
  }
  else if (document.layers) {
      parent.info.document.layers.myDivId.document.open();
      parent.info.document.layers.myDivId.document.write(\'<FONT FACE=\"Tahoma\" SIZE=\"1\" COLOR=\"000000\">her loades nyt indhold af layeret</FONT>\');
      parent.info.document.layers.myDivId.document.close();
  }
  else if (document.getElementById) {
      parent.info.getElementById(\"myDivId\").innerHTML = \'<FONT FACE=\"Tahoma\" SIZE=\"1\" COLOR=\"000000\">her loades nyt indhold af layeret</FONT>\';
  }
}

Under forusætning af, du kalder dit <div> for \'myDivId\'.
/mvh
</bole>
Avatar billede netsrac Praktikant
29. marts 2001 - 19:01 #11
Jamen dog, der kan man bare se, man lærer noget nyt hver dag :-)
Avatar billede olebole Juniormester
29. marts 2001 - 19:11 #12
Grunden til, jeg skrev script\'et, var bare at få NS6 med ind i varmen - nu, de har haft al besværet med at lave den til os ;)
...og så er der iøvrigt ingen grund til \'self.parent.......\'. \'parent........\' er nok.
/mvh
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