レスポンシブだけど、iPad(タブレット)ではPCの縮小表示にしたい。
あると思います。
僕は基本WordPress使いなので、phpでviewportを場合分けしていたんですが、phpを使わない場合はJavaScriptでもできます。
実装
htmlのhead内は、スマホ向けにこうしておきましょう
1 |
<meta name="viewport" content="width=device-width"> |
JavaScriptでユーザーエージェントを判別し、iPadの場合だけmeta viewportを書き換えます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
const baseW = 1120; // viewportのwidth const ua = navigator.userAgent const sp = ua.indexOf('iPhone') > -1 || (ua.indexOf('Android') > -1 && ua.indexOf('Mobile') > -1) const tab = !sp && ( ua.indexOf('iPad') > -1 || (ua.indexOf('Macintosh') > -1 && 'ontouchend' in document) || ua.indexOf('Android') > -1 ) if (tab) { viewportContent = "width=" + baseW + "px,user-scalable=no"; document.querySelector("meta[name='viewport']").setAttribute("content", viewportContent); } |
jQueryと違って早いので、ページ読み込み時に一瞬だけなんかおかしい!ということも軽減されます。iPad以外では動かないしね。
現場からは以上です。