最近の主な悩みはブラウザの拡大率を取得する際のテクニックについてです。
Google Chromeの場合、ブラウザの拡大率を取得したければ
Math.round((window.outerWidth / window.innerWidth)*100) / 100
とすると取得できるということになっているようです*1。
MacのGoogle Chromeだとウィンドウに枠がないので、拡大率が1の場合にwindow.outerWidth
の値とwindow.innerWidth
の値が一致して、それらしく感じます。また、Windowsでウィンドウを最大化している場合も同様です。
ですが、この方法実は問題があって、Windowsで最大化していない場合はウィンドウに枠が付く(しかもサイズはWindowsの設定で任意に変更可能)ので、window.outerWidth
の値がウィンドウの枠の太さ分window.innerWidth
の値よりも大きくなってしまうので拡大率が正確に取得できません。
ちなみに window.devicePixelRatio
では拡大率のみを取り出すことが出来ないのでこの場合は利用できません。
何か良い方法をご存知の方がいらっしゃいましたらご教授ください。よろしくおねがいします。