2016-03-25 7 views
13

モバイルクロム(特にiOSクロム)のプルダウンからリフレッシュを防止したいと考えています。私のWebアプリケーションには、デバイス幅とデバイス高さのビューポートを持つ縦方向のパンニングイベントがありますが、パンニングするたびにブラウザのデフォルト機能のためモバイルクロムがリフレッシュされます。さらに、Safariブラウザでは、パンニング中に画面が回転しています。私はこれらの動きを無効にしたい。モバイルクロムのプルダウンからリフレッシュを防ぐ方法

もちろん、私はevent.preventDefault()を試しました。タッチアクション:なし。しかし、それは動作しません。 eventListnerとtouch-actionを "bodyタグに追加"する必要がありますか?私は例で役に立つ答えを期待しています。

+1

@Rajuは、私はここに、簡単なコード例を見つけ – Raju

+0

良い答えを得るために、最小限のコード例を追加! thx> O < http://output.jsbin.com/qofuwa/2/quiet –

+1

これは私が意味するものではありません。 [最小、完全、および検証可能な例(MCVE)]を投稿すると()、より良い回答を得るのに役立ちます(http://stackoverflow.com/help/mcve)。 – Raju

答えて

7

モバイルクローム> = 56人のイベントリスナーには、デフォルトと受動的なイベントリスナによって受動的であるので、もはやデフォルトを防ぐことはできません。

document.addEventListener('touchstart', touchstartHandler, {passive: false}); 
document.addEventListener('touchmove', touchmoveHandler, {passive: false}); 

ここで作業例:あなたが代わりにそうようにアクティブなイベントリスナーを使用する必要が See here

https://output.jsbin.com/niyukadizu/quiet

https://output.jsbin.com/niyukadizu

2

はこれを試してみてください。

body { 
    /* Disables pull-to-refresh but allows overscroll glow effects. */ 
    overscroll-behavior-y: contain; 
} 

私にとってはうまくいきました。私は他のJavaScriptのハックのために不思議なスクロールの問題を抱えていました。詳細はこの記事をお読みください。

https://developers.google.com/web/updates/2017/11/overscroll-behavior

+0

これは私にとっては効果がありました –

関連する問題