자바스크립트 오류 났다고 연락옴.
확인해봄.
내용은.. 아래와 같음
function getRemainDate(ymd) {
var frDate = new Date(ymd);
var nowDate = Date.now();
var gapDate = Math.ceil((frDate.getTime() - nowDate)/(1000 * 60 * 60 * 24)) + 1 ;
return gapDate;
}
[removed](getRemainDate('2013-11-20'));
문제가 발생한 곳은 IE8
크롬, 사파리, 파폭에서는 정상 동작.
그래서, 작은 테스트 페이지를 만들어서
위의 스크립트만 실행해봄.
그랬더니.. IE8에서도 정상 동작.
결국 결론을 낸게 페이지의 용량이 클 경우에는 IE8에서 new Date를 했을 경우 Date 객체가 제대로 생성하지 못하는 버그가 있다는 것을 알게 되었음.
결국 강제 초기화를 해주기 위해.. 아래와 같이 변경함.
function getRemainDate(year,mon,day) {
var frDate = new Date();
frDate.setFullYear(year,mon-1,day);
var nowDate = Date.now();
var gapDate = Math.ceil((frDate.getTime() - nowDate)/(1000 * 60 * 60 * 24)) + 1 ;
return gapDate;
}
[removed](getRemainDate('2013','11','20'));
이러고 나니깐.. 모든 브라우져에서 잘됨.
그런데.. 저런 브라우져 버그성 문제가 한두개가 아님.
일 해보다 보면 은근 많다.
ㅇㅇ
라인을 위 아래로 움직여 보시지 그러셨어요
그냥 선언 순서 문제일듯
그냥 객체 날아가서 nan 떨어짐. Set해서 처리
최눙력둘리는내췬구호잉호영리두환전문갈대륑륑딩웡동