자바스크립트 오류 났다고 연락옴.

확인해봄.


내용은.. 아래와 같음


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'));


이러고 나니깐.. 모든 브라우져에서 잘됨.


그런데.. 저런 브라우져 버그성 문제가 한두개가 아님.


일 해보다 보면 은근 많다.

ㅇㅇ