[asp]server side refresh van een page

Pagina: 1
Acties:

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 01-09 21:13
Hoi,

naar aanleiding van het coolmon topic (Uptime online laten zien) dacht ik bij mezelf:

Ik wil dit niet in Javascript o.i.d., maar in VBScript. De output en dergelijke heb ik gewoon simpel aan de praat middels:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim xml
Set xml = Server.CreateObject("Microsoft.XMLDOM")
    xml.async = False
    xml.load (Server.MapPath("/coolmon.xml"))
    Uptime = xml.getElementsByTagName("Item_0").item(0).text 
    RamTotal = xml.getElementsByTagName("Item_1").item(0).text 
    RamFree = xml.getElementsByTagName("Item_2").item(0).text 
    RamUsed = xml.getElementsByTagName("Item_3").item(0).text 
    BytesRead = xml.getElementsByTagName("Item_4").item(0).text
    BytesWritten = xml.getElementsByTagName("Item_5").item(0).text 
    TotalBytesRead = xml.getElementsByTagName("Item_6").item(0).text 
    TotalBytesWritten = xml.getElementsByTagName("Item_7").item(0).text 
    DateTime = xml.getElementsByTagName("Item_8").item(0).text 
    ProcUsage = xml.getElementsByTagName("Item_9").item(0).text
Set xml = Nothing

Ik wil dit stuk dus includen op een andere pagina en daar de Vars in proppen.
Dat is het probleem niet.

In de Javascript versie hiervan zeg maar wordt de page om de seconde gerefresht.
Ik dacht ff slim te zijn om er heel sneakie een gewone meta refresh er in te doen, maar dan krijg je die irritante tik dat de pagina gerefresht wordt. Hoe kan ik dit evt. in VBscript doen? Zonder dat die tik er dus inkomt?

Geprobeerd:
- zoals gezegd meta refresh
- wat zitten friemelen met "TIMER", maar werkt ook niet (tenminste niet werkend gekregen)

Iemand een tip c.q. suggestie?

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

En waarom wil je het stukje javascript niet toevoegen? Dat werkt toch.

edit:
ik geloof dat je ook het server-side en het client-side gedeelte een beetje door elkaar gooit

Today's subliminal thought is:


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 01-09 21:13
Ja, maar dan krijg je dus die irritantie "refresh" tik! (die meta-refresh dan)

En de javascript versie van het uitlezen van de XML file werkt uiteraard ook wel, alleen ik wil het includen over meerdere pagina's. Verder vind ik het onhandig om dit dus overal neer te gaan zetten _en_ evt. aan te passen.

Heart..pumps blood.Has nothing to do with emotion! Bored


  • WouZz
  • Registratie: Mei 2000
  • Niet online

WouZz

Elvis is alive!

Een serverside refresh kan niet in het HTTP protocol... Zie ook hier: Auto refresh voor tijd in php

On track


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 01-09 21:13
owke, weet ik ook dat dat dus niet mogelijk is.

Een meta-refresh zou wel kunnen, alleen dan krijg je dus die tik (in IE dan ;))

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Als je het wat handiger aanpakt, dan kun je het volgens mij ook wel met DHTML oplossen. Je kunt dan bijv. een DIV'je plaatsen in je pagina en deze via scripting verversen. Dit kun je bereiken dmv de innerHTML property van deze DIV. Je zou dan via een timertje elke keer een functie kunnen aanroepen die dit voor je regelt.
Hier een van de eerste hits bij google: JavaScript and DHTML content. Hoop dat je er wat aan hebt.

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 01-09 21:13
ydejager: zoiets is dat javascript ook al:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
   <script language="JavaScript"> 
   function UpdateReadings(){ 
      dom = new ActiveXObject("Msxml.DOMDocument");  
      dom.async = false;                              
      dom.load("http://teedee.dynu.com:61300");        
      cpu_uptime.innerHTML = dom.getElementsByTagName("Uptime")[0].firstChild.nodeValue;
      Computer_Name.innerHTML = dom.getElementsByTagName("Computer_Name")[0].firstChild.nodeValue;
      Item_2.innerHTML = dom.getElementsByTagName("Item_2")[0].firstChild.nodeValue;
      Item_3.innerHTML = dom.getElementsByTagName("Item_3")[0].firstChild.nodeValue;
      Date_and_Time.innerHTML = dom.getElementsByTagName("Date_and_Time")[0].firstChild.nodeValue;
   } 
   function CoolMon(){                                
      window.setInterval('UpdateReadings()',1000);    
   }                                                  

   </script> 
</head> 
<body onLoad="CoolMon()" leftmargin="0" link="#000000" vlink="0" alink="0" text="#000000" bgcolor="#FFFFFF" topmargin="0">


Ga nog wel ff wat rommelen ;) tnx iig

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Je zou het parsen van die XML file ook eventueel in flash kunnen doen... Andere optie is om een functie te maken die gebruik maakt van setTimeout(); deze JS functie roept zichzelf weer aan als ie ge-executeerd wordt... en dan simpel de innerHTML vervangen van bijvoorbeeld een <span> tag... Nog fff iets anders... hoe relevant is het om te zien wat de uptime van je server/pc is? Kan je dit script niet gewoon uitvoeren als de pagina wordt geladen?

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 01-09 21:13
Bovenstaand Javascript heeft "lopende tellertjes". En het gaat me niet zozeer om het zien van de uptime, maar meer om het kloten met XML. En ik dacht, dit is wel leuk om mee te beginnen. Maar zoals gebleken is, komt het nu toch weer meer op de ASP aan.

Flash is helaas geen optie, hoop vrienden van mij draaien LinuxPPC en die heeft voorzover ik weet nog geen goede flash. (vandaar ;))

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Quibus
  • Registratie: November 2000
  • Laatst online: 01-09 19:46
Is de html tag <iframe></iframe> geen optie. Dat hij dat html paginatje met die uptime stats erin in die <iframe> steeds ververst en zo niet de hele tijd de hele pagina opnieuw geladen moet worden.

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 01-09 21:13
helaas ook niet. Wil het e.e.a. zoveel mogelijk platform onafhankelijk houden. Dus ik hou het ermaar bij dat het niet automagisch gerefresht wordt.

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Als ik me niet vergis hoor je ook bij een Iframe een TIK... Ik zag trouwens dat je die timerfunctie elke seconde aanroept... dat vraagt nogal wat van de client en de server: client moet elke seconde de XML file parsen en de server moet elke seconde die XML file "verzenden" Als je met ASP wilt gaan werken heb je toch niet dezelfde "realtime" functionaliteit als met de JS versie? :?

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Als je met javascript een reload() doet hoor je geen tik afaik.
De XML parsing kan je gewoon in ASP doen als je dat wil en als extra output gooi je er ook nog een stukje client-side JS achteraan wat de reload doet (natuurlijk nog wel met een timeout om niet iedereen een epileptische aanval te bezorgen ;))

Today's subliminal thought is:

Pagina: 1