0

デバイスが iPad であるかどうか、および iPad の場合は縦表示または横表示で使用されているかどうかに応じて、異なるビューポート メタ タグを設定できるようにしたいと考えています。

David Walsh によるこの記事で説明されているように、Apple の iPad ユーザー エージェント文字列のおかげで、JavaScript で実行できるはずです。

このようなもの:

if isiPad and max-width=768px -> use viewport meta for portrait
else if isiPad and max-width=1024px -> use some viewport meta for landscape
else (not iPad) -> use default viewport meta for non-iPad devices;
also (some kind of event listener) if ipad's max-width changes from 768 to 1024, or from 1024 to 768 - use corresponding viewport meta. 

熟練した誰かがこれを実際の JavaScript に翻訳できますか?

よろしくお願いいたします。

4

1 に答える 1

1
var isIpad = navigator.userAgent.match(/iPad/) != null;
if (isIpad) {
    var meta = document.createElement("meta");
    meta.setAttribute("viewport", "whatever");
    var head = document.getElementsByTagName("head")[0];
    head.appendChild(meta);
} else {
    // etc..
};

window.onresize = function(event) {
    var width = window.clientWidth; // This works for Android + iOS.
    var meta = document.createElement("meta");
    meta.setAttribute("viewport", "whatever");
    var head = document.getElementsByTagName("head")[0];
    var metas = document.getElementsByTagName("meta");
    for (var i = 0, i < metas.length; i++) {
         if (metas[i].getAttribute("whatever") == "blabla")//removal condition
             head.removeChild(metas[i]);
    };
    head.appendChild(meta);

};
于 2013-05-09T16:12:06.187 に答える