Domanda

Sto cercando di capire come ottenere un'applicazione web Dashcode di distinguere tra un browser iPhone e iPad del browser. Un esempio di lavoro di questo è il di Apple Manuale Utente di iPad . Un iPad visualizza un'interfaccia costruita chiazza di petrolio Dashcode. L'iPhone viene reindirizzato a una pagina web.

Ho trovato un po 'di aiuto nel Howto domanda vigore DashCode .

sto modificando il file redirector.js. I seguenti forze del iPad di utilizzare il layout di Safari costruito da Dashcode, invece di Safari Mobile, che è quello che voglio. Quando è in rassegna a da un iPhone, restituisce un file non trovato errore.

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

Grazie per eventuali suggerimenti.

È stato utile?

Soluzione 2

Alla fine ho finito per usare un po 'di codice basato su questo post al blog ScottRockers . Grazie a ughoavgfhw per avermi messo sulla strada giusta.

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

Altri suggerimenti

Prova window.navigator.userAgent. Esso comprenderà iPad su un iPad o iPod su un iPod touch.

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

modifico il mio file redirector.js e sta facendo esattamente ciò che si vuole, forse non è il modo migliore per farlo, ma si sta lavorando, qui è il mio codice spero che funziona per voi:

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"];
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top