[Javascript] Page request opslaan in een var

Pagina: 1
Acties:

  • Dryw.Filtiarn
  • Registratie: September 2001
  • Laatst online: 18-03 12:10
Ik zit hier met een volgend probleem:

Ik heb een pagina met een serie textvelden waarvan de content continue gerefreshed moet worden. Nu zul je zeggen dan doe je dat via een standaard refresh, maar dat wordt erg lelijk wanneer dat om de 3 tot 5 seconden moet gebeuren. Dus mijn vraag is, is het mogelijk om de retour gezonden pagina(HTML -> PHP gegenereerd) op is te slaan in een variable in javascript, zodat ik van daaruit alle textvelden kan refreshen?

=( Protected by witchcraft )=


  • Yo-L
  • Registratie: December 2000
  • Niet online
Kun je niet met 'n verborgen frame/layer werken.. die de waarden ververst? (over die variabele weet ik niks.. lijkt me stug eerlijk gezegd dat t kan)

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 18:43

RM-rf

1 2 3 4 5 7 6 8 9

de beste methode daarvoor lijkt me om daarvoor een hidden flash- of java-object te gebruiken.

flash kan bv uitstekend dynamische files inlezen en heeft vervolgens een interface naar de javascript-engine (helaas werkt dat enkel niet op mac/msie).
naar eigen voorkeur zou je eventueel ok een applet daarvoor kunnen gebruiken, maar die moet je zelf ontwikkelen dan, en dat wil nog wel eens nodeloos veel tijd kosten of traag/onstabiel zijn.

javascript/DOM zelf kent ook een apart read/write object vor external scripts, dat kan je tussentijds aanpassen en zo een externe waarde inlezen, zelf heb ik dat nog nooit toegepast maar een soortgelijke methode om de externe stylesheets die ik wel ken leidt helaas wel tot een onprettige vertraging als je het toepast op userhandelingen, als het laden automatisch wordt aangestuurd lijkt het me minder een probleem.
ook dit werkt bv niet in ns4x

de vraag is me wel of je je hand niet overspeelt door een sort van streaming content in een webpage te willen, http zelf is stateless en dat heeft ook zo zn redenen,
voor zo'n optie lijkt het me an belang om goed te checken hoe dit reageert bij trage verbindingen/systemen of 'hobbels' bij het inladen.
een lagere timeout of een soort van interval functie (pas volgende request doen als vorige is ingeladen)

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

ja je kan het wel in een variabele opslaan.
Daarna kun je mbv innerHTML het gewenste element (cel, layer,div,..) vullen.
Ik weet eigenlijk alleen niet of je er dan nog html-tags doorheen kan mengen, of eigenlijk; of die dan nog geparst worden.
Dat zou je ff moeten testen.
Ik heb laatst in een ander topic nog een compleet scriptje geplaatst om dynamisch cellen te vullen, als je dat ff een beetje aanpast met een setTimeout dan heb je denk wel wat je wilt :)

www.jurgroessen.nl


  • Dryw.Filtiarn
  • Registratie: September 2001
  • Laatst online: 18-03 12:10
Op donderdag 15 november 2001 09:47 schreef RM-rf het volgende:
de vraag is me wel of je je hand niet overspeelt door een sort van streaming content in een webpage te willen, http zelf is stateless en dat heeft ook zo zn redenen,
voor zo'n optie lijkt het me an belang om goed te checken hoe dit reageert bij trage verbindingen/systemen of 'hobbels' bij het inladen.
een lagere timeout of een soort van interval functie (pas volgende request doen als vorige is ingeladen)
Hier ben ik het mee eens, maar aangezien het hier puur en alleen om een pc gaat die zelf server is voor dit geheel en alleen zelf deze data nodig heeft, is dit geen probleem, dan mag er van mij zoveel load zijn als nodig is...

=( Protected by witchcraft )=


  • Crysania
  • Registratie: September 2000
  • Laatst online: 08:05
ik heb dit pas ook gemaakt, gewoon een frame op 0 px zetten en die zich laten refreshen en het andere frame met de layout erin die daar uit leest

  • Crysania
  • Registratie: September 2000
  • Laatst online: 08:05
hier mijn test voorbeeld

index.html
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<html>
<head>


<frameset rows="*,100" frameborder ="1" border ="0" framespacing="0">
   <frame NAME="home" NORESIZE src="home.html">
   <frame NAME="data" NORESIZE src="data.html" >
</frameset>



</head>

</html>

home.html
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<html>
<head>

<SCRIPT LANGUAGE=JavaScript1.2>


function writeText( layer,text ) {
    if( document.getElementById ) {
        document.getElementById( layer ).innerHTML = text;
    } else if( document.all ) {
        document.all[layer].innerHTML = text;
    } else {
        document[layer].document.open();
        document[layer].document.write( text );
        document[layer].document.close();
    }
}

var variabele1 = 3;
var i = 0;
var j = 0;


function herschrijf()
{
    //window.onerror ="testfunctie()";
    //if (top.data.document.all["test"].innerHTML != null)
    
    try
    {
    variabele1= top.data.document.all["var1"].innerHTML
    }
    
    catch(koe) {
      //alert("We have experienced a JavaScript error");
    j = j+1;
    }

    writeText('regel1'," de waarde van var1 = " +variabele1)
    i = i+1
    writeText('regel2',"aantal keer gelezen uit data " + i)
    writeText('regel3',"aantal keer fout " + j) 
    setTimeout ("herschrijf()" ,1000);

 
}

</SCRIPT>
</head>
<body onload="herschrijf();">
Dit is het frame met de layout erin.


<TABLE border="1">
<TR>
<TD id ="regel1">hierkomtdata</TD>
<TD id ="regel2">hierkomtdata</</TD>
<TD id ="regel3">hierkomtdata</</TD>
</TR>
</TABLE>
</body>
</html>

data.html
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<html>              
<head>              

<SCRIPT language=JavaScript>    
function reloadpagina()
{
    setTimeout (  "location.reload()" ,1500); 
}
</script>  

</head> 
    
<body onload="reloadpagina();"> 

<!-- hier tussen alle variabelen zetten -->

<p id="var1">10</p>
<p id="var2">20</p>
<p id="var3">28</p>
<p id="var4">0</p>
<p id="var5">80</p>

<!-- hier tussen alle variabelen zetten -->

</body>             
</html>

  • Dryw.Filtiarn
  • Registratie: September 2001
  • Laatst online: 18-03 12:10
Thanx guys, het probleem is opgelost en alles werkt perfect...

=( Protected by witchcraft )=

Pagina: 1