The sky is the limit

Vue.js、PHP、Java、Cordova、Monacaを中心にハイブリッドアプリ開発、PWA開発など効率的なWEB、iOS、Androidアプリ開発の情報を共有します。

【iOS】iOS11.3や11.4で発生したpreventScrollを防ぐ方法【スクロール】

【iOS】iOS11.3や11.4で発生したpreventScrollを防ぐ方法【スクロール】

f:id:duo-taro100:20160218004611p:plain

iOS 11.3からSafariやChrome、FirefoxでpreventScrollが生じるようになり、ブラウザの動きが気持ち悪くなりました。
状況としては下記ページの内容です。

182521 – REGRESSION (iOS 11.3 beta): touchmove preventDefault() no longer respected

緊急の対応として、touchmoveとtouchstartに対してスクロールを抑止しました。

window.addEventListener("touchstart", function(event) {event.preventDefault();}, {passive: false} );
window.addEventListener("touchmove", function(event) {event.preventDefault();}, {passive: false} );

これを実施することによって、問題の現象は修正されましたが、画面上の他の挙動に問題が出てきました。
例えばボタンが押せないとか。
その場合は、特定の要素だけ上記の処理を行わないようにすればOKです。