Tijd

Status
Niet open voor verdere reacties.

yucatan

Gebruiker
Lid geworden
15 dec 2009
Berichten
19
Ik wil graag een script hebben dat naar de tijd van het systeem kijkt. van de client computer.

en als de tijd 10 seconden over de minut is dan moet hij zichzelf refreshen

dit moet hij doen op 10 20 30 40 en 50 en 00

op die secondens van de minut moet hij zichzelf refreshen dat is alles kan iemand me helpen?

dit is hoever ik al ben gekomen.

//This function is placed in the HTML head section
function det_time()
{
var d = new Date();
var c_hour = d.getHours();
var c_min = d.getMinutes();
var c_sec = d.getSeconds();
var t = c_hour + ":" + c_min + ":" + c_sec;
document.myform.my_time.value = t;
}


//The following code is placed in the HTML body...
<form name="myform">
<input type="text" size="10" maxlength="10" value=""
name="my_time">
</form>
<script type="text/javascript">
<!--

setInterval("det_time()", 1000);

//-->
</script>
 
Van de functie "det_time" zou ik het volgende maken:
[js]function det_time()
{
var d = new Date();
var sec = d.getSeconds();
if (sec % 10 == 0)
{
location.reload();
}
}[/js]

In de body kan je dan volstaan met
HTML:
<script type="text/javascript">
<!--

setInterval("det_time()", 1000);

//-->
</script>
(tenzij je een formulier wilt hebben zoals in je oorspronkelijke code)
 
Van de functie "det_time" zou ik het volgende maken:
[js]function det_time()
{
var d = new Date();
var sec = d.getSeconds();
if (sec % 10 == 0)
{
location.reload();
}
}[/js]

In de body kan je dan volstaan met
HTML:
<script type="text/javascript">
<!--

setInterval("det_time()", 1000);

//-->
</script>
(tenzij je een formulier wilt hebben zoals in je oorspronkelijke code)



kun je me de volledige code van het volledige document geven wat dan nodig zou zijn.

er hoeft geen tijd weergegeven te worden.

is het ook mogelijk om op die tijd alleen een afbeelding te refreshen?
 
Dit is het volledige html-bestand:
HTML:
<html>
<head>
<title>test</title>
<script type="text/javascript">
<!--
function det_time()
{
	var d = new Date();
	var sec = d.getSeconds();
	if (sec % 10 == 0)
	{
		location.reload();
	}
}
//-->
</script>
</head>
<body>
<script type="text/javascript">
<!--
setInterval("det_time()", 1000);
//-->
document.write(new Date());
</script>
</body>
</html>
Op regel 23 laat ik met "document.write(new Date());" de datum en tijd op het scherm zetten zodat het makkelijker te zien is dat de pagina daadwerkelijk gerefreshed wordt. Als je dat niet wilt kan je die regel weghalen.

Enkel een afbeelding refreshen kan ook, al moet je dan wel rekening houden met zaken als "caching" (waardoor de browser mogelijk nog de oude afbeelding toont). Daarvoor moet je regel 12 "location.reload();" vervangen door "document.getElementById('plaatje').setAttribute('src', 'de_locatie_van_de_afbeelding.extensie');" (waarbij je "de_locatie_van_de_afbeelding.extensie" moet vervangen door het juist pad naar en bestandsnaam van de afbeelding (de enkele aanhalingstekens moet je wel laten staan)). In het html-document moet je dan ook de afbeelding plaatsen met deze code
HTML:
<img id="plaatje" src="de_locatie_van_de_afbeelding.extensie">
(waarbij je ook weer het juist pad naar en bestandsnaam van de afbeelding moet gebruiken.)
 
Laatst bewerkt:
waarom werkt dit niet

<html>
<head>
<img id="plaatje" src="GDIPlus_Image2.jpg">
<title></title>
<script type="text/javascript">
function getCurrentTime()

{
var myDate = new Date();
var mySecs = myDate.getSeconds();

if(mySecs < 10)
mySecs = "0" + mySecs;

var time = mySecs;
document.getElementById('time').innerHTML=(time);


if(time == "00") //Change this to whatever time you want
//location.reload();
document.getElementById('plaatje').setAttribute('src', 'GDIPlus_Image2.jpg');

if(time == "10") //Change this to whatever time you want
//location.reload();
document.getElementById('plaatje').setAttribute('src', 'GDIPlus_Image2.jpg');

if(time == "20") //Change this to whatever time you want
//location.reload();
document.getElementById('plaatje').setAttribute('src', 'GDIPlus_Image2.jpg');

if(time == "30") //Change this to whatever time you want
//location.reload();
document.getElementById('plaatje').setAttribute('src', 'GDIPlus_Image2.jpg');

if(time == "40") //Change this to whatever time you want
//location.reload();
document.getElementById('plaatje').setAttribute('src', 'GDIPlus_Image2.jpg');

if(time == "50") //Change this to whatever time you want
//location.reload();
document.getElementById('plaatje').setAttribute('src', 'GDIPlus_Image2.jpg');

}
</script>
</head>
<body onload="setInterval('getCurrentTime()', 1000);">
<div id="time"></div>
</body>
</html>
 
Zomaar een idee... mischien omdat je <img> in je <head> staat...
 
Zo lijkt me het simpelste: :)
[js]<img id="plaatje" src="GDIPlus_Image2.jpg">

<script type="text/javascript">

function refreshImage() {
document.getElementById('plaatje').src = 'GDIPlus_Image2.jpg?' + new Date().getTime();
};

setInterval('refreshImage()',10000);

</script>[/js]
setInterval('refreshImage()',10000); roept om de 10 seconden de refresh-functie aan.

new Date().getTime() voegt het aantal milliseconden sinds 1 jan 1970 GMT aan de .src toe zodat het niet uit cache gehaald wordt. :)

Je krijgt dan iets als:
GDIPlus_Image2.jpg?1279465657261
GDIPlus_Image2.jpg?1279465667265
GDIPlus_Image2.jpg?1279465677262
...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan