티스토리 뷰
iOS, Safari(사파리) 자바스크립트 new Date() 크로스브라우징 이슈
특정 시간이 되면 어떤 요소가 사라지도록 처리하는 업무와 타이머를 생성할 필요가 있었는데
iOS와 Safari에서는 제대로 작동하지 않거나 타이머의 숫자가 NaN
으로 나타나는 이슈가 있었다.
서핑을 좀 해보니 크로스 브라우징 문제였고, iOS와 safari가 아래와 같은 표기법을 지원하지 않아서였다.
new Date('2021-06-27 18:23:24'); // invalid Data로 확인
구글링 결과 해결법은 크게 두 가지였다.
1. Moment.js 사용하기
2. 표준표기법 사용하기
위 코드를 아래와 같이 사용하면 된다.
new Date(2021, 5, 27, 18, 23, 24); // 년, 월, 일, 시, 분, 초. 월은 0부터 시작한다.
앞으로 Date 객체를 사용할 때 웬만하면 표준 표기법을 이용하는 게 안전할 것 같다.
'Programming > Javascript' 카테고리의 다른 글
자바스크립트 클립보드 복사 기능 만들기 (0) | 2021.09.07 |
---|---|
자바스크립트 Date 객체 깊은 복사하기 (0) | 2021.07.07 |
자바스크립트 Array.from() 활용하기 (0) | 2021.03.09 |
자바스크립트 무작위 정수 뽑기, 배열에서 무작위 원소 뽑기 (0) | 2021.03.01 |
npm, npx, yarn 구분하기 (0) | 2021.01.07 |
댓글