2014-04-04 2 views
0

최근에 제품 페이지에서 카운트 다운을 사용했습니다. 나는 정말 위대한 Jquery Countdown을 사용했습니다. 사용자가 시간대를 변경하면 타이머가 추가되고 주 문제가 발생하므로 서버 시간과 타이머를 동기화하고 싶습니다.서버 시간과 일치하는 jQuery 카운트 다운 플러그인

플러그인의 사이트 (시간대 탭에 있음)에는 몇 가지 팁이 있지만 실제로는 백엔드가 아닌 스크립트를 함께 결합하는 방법은 없습니다. 내가 JS 탭 내부의 플러그인을 포함 원인 http://jsfiddle.net/zG9Ta/4/

내 JS의 바닥을 확인하시기 바랍니다 (그리고 위에 있어야했다) :

내 코드의 일부이다.

프런트 엔드 코드와 서버 시간을 결합하는 방법에 대한 도움이 필요하십니까?

미리 감사드립니다.

홈페이지 JS :

function call(){ 
     $('.countdownclock').countdown({until: new Date(2014, 4-1,10,09,00), timezone:+3, format: 'HMS',padZeroes: true}); 

    } 

setTimeout(call,500); 

답변

0

, 서버 측 (컨트롤러 나 액션 클래스를 가정)) (자바 스크립트 날짜를 클라이언트에게 서버 시간에 시간을 표시하기 위해 있도록 자바 스크립트, 클라이언트 측을 실행 , 서버의 시간대 오프셋을 정수로 가져 와서 페이지에 매개 변수로 전달해야합니다. 그런 다음 JS 날짜에서 UTC 날짜를 만든 다음 해당 날짜를 오프셋만큼 증가시킵니다. 컨트롤러/액션에서

:

Calendar cal = Calendar.getInstance(); 
TimeZone tz = cal.getTimeZone(); 
int tzOffset = tz.getOffset(cal.getTimeInMillis()); 

당신의 JS에서 : 당신은 당신의 날짜가되면 당신은 W3C JS UTC

에서 JS 날짜에 대한 모든 방법을 볼 수 있습니다

var wallTimeDate = new Date(); 
var utcDate = new Date(wallTimeDate.getUTCFullYear(), wallTimeDate.getUTCMonth(), wallTimeDate.getUTCDate(), wallTimeDate.getUTCHours(), wallTimeDate.getUTCMinutes(), wallTimeDate.getUTCSeconds()); 
var serverDate = new Date(now_utc.getTime() + tzOffset); 

, JQuery 함수에 전달하고 사용하는 대신 사용하십시오. 필요한 것을 얻을 수 있습니다.

관련 문제