2010-12-17 10 views
3

Ich versuche herauszufinden, wie Sie eine Dashcode-Webanwendung erhalten, um zwischen einem iPhone-Browser und iPad-Browser zu unterscheiden. Ein funktionierendes Beispiel hierfür ist die . Ein iPad wird eine glatte Dashcode gebaute Schnittstelle anzeigen. Das iPhone wird auf eine Webseite umgeleitet.Dashcode unterscheidet zwischen iPad und iPhone Browser

Ich fand etwas Hilfe in der Howto force DashCode question.

Ich bearbeite die Redirector.js-Datei. Das Folgende zwingt das iPad, das Safari-Layout zu verwenden, das von Dashcode anstelle von Mobile Safari erstellt wird, was ich möchte. Wenn es von einem iPhone durchsucht wird, gibt es einen Datei nicht gefunden Fehler zurück.

// 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 Anregungen.

Antwort

0

Ich landete schließlich einen Code auf this post at ScottRockers blog Basis zu verbrauchen. Danke ughoavgfhh, dass er mich auf die richtige Spur gebracht hat.

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

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

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

Hey. Danke dafür. Letztendlich habe ich etwas anderes verwendet, aber deine Antwort hat mich auf den richtigen Weg gebracht. Ein Teil meines Problems bestand darin, mein Objective-C und Javascript zu vermischen. Do! – DenVog

0

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 ist mein Code Ich hoffe, dass die Arbeiten 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"]; 
}