Frage

Ich versuche, herauszufinden, wie eine Dashcode Web-Anwendung zwischen einem iPhone-Browser und iPad-Browser zu unterscheiden zu bekommen. Ein Arbeitsbeispiel hierfür ist der Apple iPad-Benutzerhandbuch . Ein iPad wird eine glatte Dashcode gebaut Schnittstelle anzuzeigen. Das iPhone wird auf eine Webseite umgeleitet.

fand ich etwas Hilfe in der Howto Kraft Dashcode Frage .

Ich bin der Bearbeitung der redirector.js Datei. Die folgenden Kräfte das iPad, um das Safari-Layout von Dashcode statt Mobile Safari, gebaut zu verwenden, das ist, was ich will. Wenn es um die von einem iPhone durchsucht wird, gibt es eine Datei nicht gefunden Fehler.

// 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"];
}

Vielen Dank für alle Vorschläge.

War es hilfreich?

Lösung 2

I endete schließlich einige Codes mit bis basierend auf dieser Beitrag bei ScottRockers Blog . Dank ughoavgfhw für mich auf dem richtigen Weg setzen.

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"];
}

Andere Tipps

Test window.navigator.userAgent. Es beinhaltet iPad auf einem iPad oder iPod auf einem iPod touch.

var oniPad = /iPad/.test(window.navigator.userAgent);

ich meine redirector.js Datei ändern und tut genau das, was Sie wollen, ist vielleicht nicht der beste Weg, das zu tun, aber es funktioniert, hier mein Code hoffe ich, das funktioniert für Sie:

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"];
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top