티스토리 뷰
반응형
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 |
댓글