3

iPhoneブラウザとiPadブラウザを区別するためにDashcodeWebアプリケーションを取得する方法を理解しようとしています。この実用的な例は、AppleiPadユーザーガイドです。iPadは、洗練されたdashcodeで構築されたインターフェイスを表示します。iPhoneはWebページにリダイレクトされます。

HowtoforceDashCodeの質問でいくつかの助けを見つけました。

私はredirector.jsファイルを編集しています。以下は、iPadにモバイルSafariの代わりにDashcodeによって構築されたSafariレイアウトを使用するように強制します。これは私が望むものです。iPhoneから参照すると、ファイルが見つかりませんというエラーが返されます。

// redirect to the more appropriate product
if (DCProductURLs["mobileweb"] && DCshowiPhone) {
    // Changed case so that the Safari layout is displayed on iPad
    // window.location.href = DCProductURLs["mobileweb"];
    window.location.href = DCProductURLs["desktop"];
}

提案をありがとう。

4

3 に答える 3

4

window.navigator.userAgentをテストします。iPadのiPadまたはiPodtouchのiPodが含まれます。

var oniPad = /iPad/.test(window.navigator.userAgent);
于 2010-12-17T20:05:57.533 に答える
0

私はredirector.jsファイルを変更し、あなたが望むことを正確に実行しています。おそらくそれを行うための最良の方法ではありませんが、それは機能しています。これが私のコードです。

var DCProductURLs = {
    "mobileweb": "../mobile", 
    "desktop": "../safari"
};

var DCshowiPhone = RegExp(" AppleWebKit/").test(navigator.userAgent) && RegExp(" Mobile/").test(navigator.userAgent);

var DCqs = window.location.search.substring(1);
if ((DCshowiPhone && DCqs.length > 0)||screen.width>1000) {
    var components = DCqs.split("&");
    for (var f = 0; f < components.length; f++) {
        if (components[f] == "p=desktop") {
            DCshowiPhone = false;
            break;
        }
    }
}

// redirect to the more appropriate product
//var device= 
if (DCProductURLs["mobileweb"] && DCshowiPhone && screen.width<=960) {
    window.location.href = DCProductURLs["mobileweb"];
}
于 2011-02-01T17:10:47.160 に答える
0

最終的には、ScottRockersブログのこの投稿に基づいたコードを使用することになりました。私を正しい軌道に乗せてくれたughoavgfhwに感謝します。

if ((navigator.userAgent.indexOf('iPad') != -1)) {
    window.location.href = DCProductURLs["desktop"];
}

if ((navigator.userAgent.indexOf('iPhone') != -1) || (navigator.userAgent.indexOf('iPod') != -1)) {
    window.location.href = DCProductURLs["mobileweb"];
}
于 2010-12-17T20:59:10.100 に答える