webForumDet fria alternativet

Safari och datum med new Date();

2 svar · 339 visningar · startad av MickeA.com

MickeA.comMedlem sedan feb. 20034 441 inlägg
#1

Tjena hej,

Har problem med Safari. Här är koden:

var Data;
var CurrDate;

Data = [
		{"date":"2011-12-01","title":"foo","text":"bar"},
		{"date":"2011-12-02","title":"foo","text":"bar"}
                // o.s.v. fram till 2011-12-24
	   ];
CurrDate = new Date("2011-12-02");

$(document).ready(function(){
	$.each(Data, function(x,y){
		LoopDate = new Date(y.date);
		if(CurrDate <= LoopDate) {
			Navigate(x);
			return false;
		}
		$('#Img' + x).attr("src", "./images/thumbs/" + y.imageafter);
	});
});

(Det finns fler saker i jsonobj. förutom date, text och title).

Koden fungerar så att den ska logga igenom mitt JSON-objekt och när "dagens datum" kommer ska koden avbrytas. Det här fungerar fint i IE7,8,9, Firefox 7,8 och Chrome. Men i Safari körs alla datum igenom utan att stanna där den ska.

Jag har inte en aning vad det kan bero på. Det fungerar som sagt i alla webbläsare utom Safari. Jag har testat på PC och min kund på MAC, så verkar vara genomgående på bägge plattformarna.

Någon som vet vad det kan röra sig om?

MickeA.comMedlem sedan feb. 20034 441 inlägg
#2

Hittade felkonsollen i Safari och i $.each-loopen får jag "Invalid date" när jag skriver ut LoopDate med console.log();.

Den här raden:
LoopDate = new Date(y.date);

Fungerar som sagt i dom andra läsarna, what's up med Safari?
T.ex. Firefox skriver ut det här i konsollen på samma rad:
Thu Dec 01 2011 08:00:00 GMT+0800 (China Standard Time)

Så där tolkas det som ett datum.

MickeA.comMedlem sedan feb. 20034 441 inlägg
#3

Googlade och hittade det här:
http://stackoverflow.com/questions/4622732/new-date-using-javascript-in-safari

Inlägg #2 fungerar perfekt!

134 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)