それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

ユーザーが画面を拡大しているか判定する

javascript で画面の拡大率を取得するには

window.innerWidth == document.width //拡大縮小しているか
window.innerWidth / document.width //拡大率
window.innerWidth / document.body.clientWidth // 最近はコッチ

window の幅とdocument の幅を比較すれば容易に取得できるました。

ただし、document.width は スマホでしか動かないので

 (document.width &&  document.width != window.innerWidth) || // iOS
 ( window.outerWidth && window.outerWidth !=  window.innerWidth ) //PC webkit

こんな感じにチェックするのが良いかもしれない。

ユーザーが 画面の拡大率は自由に決められます。

userscalable=no にするなんていうバッドノウハウが盛んに行われてて悔しい限りです。

userscalable=no にしないで スマホサイト作って欲しいなと思うです。

document.width って。

ブラウザに依ってサポートマチマチだね。document.width の有無でスマホPCと切り分け出来そうな・・・

2017/01/31 追記

iOS 10 くらいから、 document.width は動かなくなった。 document.documentElement.clientWidth を使う。

2017-08-17 追記

macトラックパッドによる拡大縮小はこの方法では検出できないので注意が必要。