Hallo,

Op mijn site gebruik ik de volgende stuk code om de server tijd weer te geven:


jQuery(window).on('load', function()
{
	jQuery.getJSON('/js/json/server-time.json', function(data)
	{
		var serverTime	=	data.serverTime;
		var localTime	=	new Date().getTime();
		var difference	=	serverTime - localTime;

		function servertime()
		{
			// Initialize variables
			var currentServerTime	=	new Date(new Date().getTime() + difference);
			var currentHour			=	(currentServerTime.getHours().toString().length == 1) ? ('0' + currentServerTime.getHours().toString()) : (currentServerTime.getHours().toString());
			var currentMinute		=	(currentServerTime.getMinutes().toString().length == 1) ? ('0' + currentServerTime.getMinutes().toString()) : (currentServerTime.getMinutes().toString());
			var currentSecond		=	(currentServerTime.getSeconds().toString().length == 1) ? ('0' + currentServerTime.getSeconds().toString()) : (currentServerTime.getSeconds().toString());

			jQuery('DIV#server_time SPAN#server_time_current').text(currentHour + ':' + currentMinute + ':' + currentSecond);
		};

		servertime();

		setInterval(servertime, 1000);
	});
});


Dit werkt in alle browsers, alleen in Internet Explorer (10, de anderen heb ik niet getest) werkt het niet helemaal. Als ik mijn website om, bijvoorbeeld, 12:00 bekijk in IE(10'), dan tikt de tijd gewoon verder, maar als ik de pagina refresh dan begint hij opnieuw te tellen vanaf 12:00.. Pas als ik de browser sluit en opnieuw open begint hij weer te tellen vanaf de huidige tijd.

Waar zou dit aan kunnen liggen en wat kan ik hier aan doen?

Alvast bedankt!
Ik denk dat ie je ajax call cache-t.
Zet in de aanroep een timestamp oid erbij

&rand=865553221

Reageren