웹 어플리케이션을 만들때 반드시 알아둬야할 것이 있다.
바로, 사용자들의 원치 않는 화면확대가 이루어질 때가 있다는 것이다.
예를 들어 웹 어플리케이션에 검색창을 누를 때 라던지,
더블탭을 한다던지, 두 손가락으로 확대한다던지의 상황이다.
해결방법은 간단히 html과 js에 아래의 코드를 삽입하면 된다.
먼저 html에는 아래의 코드를 삽입한다.
시작 스케일을 1.0 최대 스케일을 1.0으로 설정해 놓은 뒤, 사용자가 스케일을 조절할 수 없게 하겠다는 코드이다.
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
js파일에는 아래의 코드를 삽입한다.
첫번째 코드는 만약 두 손가락으로 화면을 클릭 시 이 이벤트를 무시하겠다는 함수이다.
두번째 코드는 만약 두번 연속 탭이 0.3초보다 짧다면 이를 무시하겠다는 것인데, 이는 두번 연속 탭하였을 때 화면이 확대되는 것을 막아준다.
document.documentElement.addEventListener('touchstart', function (event) {
if (event.touches.length > 1) {
event.preventDefault();
}
}, false);
var lastTouchEnd = 0;
document.documentElement.addEventListener('touchend', function (event) {
var now = (new Date()).getTime();
if (now - lastTouchEnd <= 300) {
event.preventDefault();
} lastTouchEnd = now;
}, false);
이를 적용하여 이번 울산코로나맵 페이지를 제작하였다. 혹시 어떤 식으로 이벤트를 막아주고 있는 지 궁금하다면 참고하길 바란다.
https://coronamap-ulsan.site
코로나 울산
확진 27 | 완치 5 사망 0 --> 울산 지역만을 대상으로 자세한 정보를 제공하기 위한 코로나맵입니다. 표기된 확진자 경로는 방역소독이 완료되었습니다. 소독 이후에는 바이러스에 위험노출이 없습니다. 마스크 정보는 10분 간격으로 업데이트 되고 있으나 실제 약국 및 매장의 판매현황과 차이가 있을 수 있습니다. 이 점 양해부탁드리며, 마스크 보급을 위해 힘써주시는 분들을 존중해주세요 :) 피드백 및 오류제보 | coronaulsan@gmail.com AP
coronamap-ulsan.site
이상이 있다면 댓글로 알려주세요 :)
'Programming > Web 개발' 카테고리의 다른 글
마크다운 작성하기 (README.md 작성) (0) | 2020.03.23 |
---|---|
Django를 이용한 지역별 코로나맵 소스코드 배포 (0) | 2020.03.23 |
울산 코로나 맵 이용 가이드 (0) | 2020.03.17 |
Geolocation을 활용한 사용자 위치 표시 (카카오맵 API) (0) | 2020.03.13 |
HTML이란. (0) | 2019.10.08 |