WebKit Double-Tap Workaround
document.addEventListener('dblclick', () => { // This no-op event listener is needed to prevent WebKit's "double-tap to // scroll" functionality, which is an anti-feature as far as our tap-driven // ebook reader app is concerned. // // The WebKit team told us in 2015 that we can opt out of it by either: // 1) adding `user-scalable=no` to the viewport <meta> tag, or; // 2) setting `touch-action: pan-x pan-y` in CSS. // https://webkit.org/blog/5610/more-responsive-tapping-on-ios/ // // ... But in practice in 2025, iOS Safari just ignores both of these. So here // we are, handling it in JavaScript like a chump. // // Why is this event handler empty, though? Surely we need to do something // like call event.preventDefault() in here, you cry. Well, no, actually. The // mere *presence* of a dblclick listener on the document triggers some // unexplained codepath in WebKit that abrogates the scrolling. });
Скриншот фрагмента JavaScript-кода с пустым обработчиком события dblclick и длинными комментариями о предотвращении двойного нажатия в WebKit. Шутка в абсурдном обходном решении: обработчик ничего не делает, но само его наличие каким-то необъяснимым образом отключает прокрутку в iOS Safari, поэтому разработчик вынужден «писать JavaScript как болван». Мем используют как реакцию на нелепые браузерные баги, исторические костыли и чрезмерно сложные технические обходы.
- @dev_meme / 7024 2025-08-11
- Type
- image
- Size
- 800×485 · 76.5 KiB
- Mood
- саркастичный абсурд
- Language
- en
- Added