방명록
- [팀][문제해결] 겸상 - Safari(iOS)에서 new Date 이슈, day.js로 해결!2022년 08월 12일 19시 22분 04초에 업로드 된 글입니다.작성자: DandyNow728x90반응형
밥상 화면에서 겸상 시간이 지나면 "숟갈 얹기" 버튼 등이 disabled 되어 클릭할 수 없도록 코딩하였다. 경상이 완료된 것으로 간주하고 밥상의 정보를 변경할 수 없게 하기 위한 것이었다. 이 기능은 크롬에서도 모바일에서도 모두 문제없이 잘 작동하였고 이러한 작동이 당연했다. 그런데...
아이폰을 사용 중인 한 팀원으로부터 [그림 1]과 같이 겸상 시간이 지나지도 않았는데 버튼이 disabled 되어 있는 문제를 접하게 되었다. 그는 추가로 [그림 2]와 같은 스샷도 보내주었다.
문제의 원인은 Safari에서 new Date()가 오작동한다는 것이었고 이에 대해 잘 정리된 자료는 다음의 링크와 같다.
https://2dowon.github.io/docs/javascript/ios-new-date/
위 자료에서 제시한 해결 방법은 moment.js, day.js 모듈을 사용하는 것인데, moment.js는 더 이상의 지원이 없다고 한다. 따라서 day.js를 이용해 문제를 해결하였고 작성한 코드는 다음과 같다.
setButtonDisabled() { let nowTime = dayjs(); let diningTime = dayjs(this.babsangDetailData.dining_datetime); let result = nowTime.diff(diningTime, 'ms'); if (result < 0) { return false; } else { return true; } },
위 코드를 작성할 때 참조한 day.js 사용 방법은 아래의 링크와 같다.
https://jsikim1.tistory.com/196
728x90반응형'프로젝트 > [팀] 겸상 - 혼밥 매칭' 카테고리의 다른 글
[팀] 겸상 - 카카오 로그인 토큰 만료 후 로그아웃 처리 안되어 발생한 419 에러 (0) 2022.08.05 [팀] 겸상 - 개발 완료 및 최종 발표! (0) 2022.08.02 [팀] 겸상 - 프런트 파트라고 프런트만 보지말고 총체적 시각 가져야! (0) 2022.07.31 [팀] 겸상 - CSS의 white-space를 이용한 공백과 텍스트 줄 바꿈 처리 (0) 2022.07.29 [팀] 겸상 - Javascript의 날짜 계산 이용해 밥상 상태 정보 변경 기능 구현 (0) 2022.07.28 다음글이 없습니다.이전글이 없습니다.댓글