スマホ画面の拡大倍率の取得と判定
viewport設定が下記のような場合
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=2.0" />
// JS $('html').bind('touchend', function() { setTimeout(function(){ var zoom = document.body.clientWidth / window.innerWidth; if ( 1 < zoom ) { console.log('拡大しています'); } else { console.log('1.0倍です'); } },100); });
zoom関数が拡大倍率になる。
clientWidthプロパティは読み出しなので、こちら側で変更はできない。
clientWidth
この判定を素早くピンチインした際に
touchendが認識されないため0.1秒後に判定を行う。
参考