반응형
iOS 7-Safari에서 앞뒤로 스 와이프 기능을 비활성화하는 방법이 있습니까?
일부 웹 페이지의 경우 iPhone의 왼쪽 및 오른쪽 스 와이프 기능을 사용하여 메뉴를 표시합니다. 이제 iOS7에서는 왼쪽 및 오른쪽으로 스 와이프하여 브라우저 기록의 이전 및 다음 페이지로 앞뒤로 이동할 수있는 기능을 도입했습니다.
그러나 스 와이프 동작에서 충돌 동작이 발생하지 않도록 특정 페이지에 대해 비활성화하는 방법이 있습니까?
아니요,이 작업은 OS 수준에서 수행되며 웹 페이지는 콜백을받지 않습니다.
웹 사이트에 문제를 일으킬 수있는 iOS7의 Safari 변경 사항 요약을 참조하십시오 (이 스 와이프 동작 포함).
직접 비활성화 할 수는 없지만 기본 스 와이프는 브라우저 기록에 무언가가있는 경우에만 발생합니다.
모든 경우에 작동하지는 않지만 새 탭에서 단일 페이지 웹 앱을 연 경우
window.history.replaceState(null, null, "#" + url)
pushState 대신 또는
document.location.hash = url
두 가지 접근 방식을 사용해야했습니다.
1) Chrome / Firefox 전용 CSS 수정
html, body {
overscroll-behavior-x: none;
}
2) Safari 용 JavaScript 수정
if (window.safari) {
history.pushState(null, null, location.href);
window.onpopstate = function(event) {
history.go(1);
};
}
시간이 지남에 따라 Safari는 overscroll-behavior-x를 구현 하고 JS 해킹을 제거 할 수 있습니다.
반응형
'programing tip' 카테고리의 다른 글
Django의 데이터베이스에서 외래 키에 대한 지원 부족을 해결하는 방법 (0) | 2020.10.20 |
---|---|
bcp / BULK INSERT 대 테이블 반환 매개 변수의 성능 (0) | 2020.10.20 |
칵테일 파티 알고리즘 SVD 구현… 코드 한 줄로? (0) | 2020.10.20 |
파일에 // # sourceMappingURL이 할당되었지만 이미 하나가 있습니다. (0) | 2020.10.20 |
Redux는 단순히 글로벌 상태를 미화하지 않습니까? (0) | 2020.10.20 |