2009-03-04 14 views
7

Ho una pagina web e mi è stato chiesto di recente di creare la versione mobile per questo, ora che l'ho fatto mi è stato chiesto di effettuare un reindirizzamento automatico in modo tale che se l'utente entra nella pagina web tramite un PDA/iPhone/Smartphone/ecc. viene automaticamente indirizzato a m.website.com ma non ho idea di come farlo =/Ho provato alcuni php e javascript che ho trovato usando google ma nulla finora mi ha aiutato. Potresti ragazzi?Redirect mobile

risposta

3

Controllare WURFL e creare un redirector 302 per gli agenti utente che corrispondono all'elenco delle stringhe utente-agente del browser mobile.

Oppure, cerca iPhone nell'Agent utente e reindirizza quelli al tuo sito iPhone. Gli altri browser comandano una tale piccola quota di mercato che non vale la pena prenderli di mira. iPhone rappresenta il 67% del traffico HTML Web mobile. Puoi farlo in Javascript sulla tua pagina web.

+1

Fai di questo MobileSafari, in modo che gli iPod touch non si sentano esclusi. –

+4

D'altra parte, l'iPhone ha un buon browser web e uno schermo decente, quindi può spesso gestire pagine web "normali". Altri browser per dispositivi mobili, in particolare l'abominio di IE Mobile, potrebbero avere più bisogno di un sito personalizzato in base alle loro esigenze. – bobince

+1

Buon punto, bobince. Per il nostro sito, abbiamo scelto di escludere esplicitamente l'iPhone dall'elenco di dispositivi mobili che verrà reindirizzato a una versione mobile. –

1

forse se si elenca il codice che non funziona, potrebbe essere fornito ulteriore aiuto.

se si dispone di php, il rilevamento agente utente funziona bene nella maggior parte dei casi.

< ?php 
$browser = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone"); 
if ($browser == true) { header(”Location: http://www.example.com/“); } 
} 
?> 

Inoltre, questo appare come una vittima di: Identifying different mobile handsets and redirecting to different websites

+1

Trasforma MobileSafari in modo che gli iPod touch non si sentano esclusi. –

0

Una domanda molto simile è stato chiesto e ha risposto qui:

How do I determine whether it's a mobile device with PHP?

dispositivi Tradizionalmente mobili sono stati rilevato confrontando l'intestazione User-Agent HTTP con un elenco di stringhe UA UA conosciute. Un nuovo approccio tenta invece di rilevare la presenza di un sistema operativo desktop - qualsiasi cosa che non è un sistema operativo desktop deve quindi essere mobile.

Ciò comporta molto meno falsi positivi .

Ho scritto un post con codice di esempio in Python qui:

http://notnotmobile.appspot.com

rilevare se un dispositivo è un desktop - se non è quindi reindirizzare al tuo sito mobile!

Cheers,

John

2

ho pubblicato l'ultima versione di "Apache mobile Filter", il progetto open source ha nei primi 8 mesi, più di 1100 download da sourceforge e suppongo che lo stesso da CPAN.

Apache Mobile Filter consente di accedere a WURFL da qualsiasi linguaggio di programmazione, non solo Java e php che viene tradizionalmente utilizzato per siti Web mobili dinamici.

Il modulo rileva il dispositivo mobile e trasmette le funzionalità WURFL all'altra applicazione Web come variabili di ambiente. Può anche essere utilizzato per ridimensionare le immagini al volo per adattarsi alle dimensioni dello schermo del dispositivo mobile. Provalo e fammi sapere la tua opinione.

Per maggiori informazioni: http://www.idelfuschini.it/it/apache-mobile-filter-v2x.html

2

Ho scritto uno script JS chiamata "redirection_mobile.js "per risolvere questo problema. Rileva l'agente utente e reindirizza a una versione mobile se accedi a un sito da un dispositivo mobile.

In alcuni casi si desidera reindirizzare da un dispositivo mobile a una versione desktop (come con un collegamento "Vai al sito principale"), lo script gestirà quello e una volta terminata la sessione, si accederà a la versione mobile di nuovo.

È possibile trovare il codice sorgente su GitHub qui https://github.com/sebarmeli/JS-Redirection-Mobile-Site e si può leggere maggiori dettagli in uno del mio articolo qui:

http://blog.sebarmeli.com/2010/11/02/how-to-redirect-your-site-to-a-mobile-version-through-javascript/

0

Io uso http://detectmobilebrowser.com e ho trovato che è il modo più rapido e semplice. Funziona abbastanza bene. Questo sito genera automaticamente script server (php, perl, python, coldfusion, apache, jquery, ecc.) Che rileva i browser mobili ei reindirizzamenti di conseguenza. Puoi semplicemente copiare e incollare il codice da qualche parte nel tuo file di indice.

+0

Chris: questa è una risposta "boilerplate" identica a [questa] (http://stackoverflow.com/questions/1865934/redirect-url-to-mobile-version/6275716#6275716). Assicurati che le tue risposte siano personalizzate per rispondere al problema specifico dell'OP. La pubblicazione di risposte identiche come questa viene contrassegnata dalla comunità come spam. Inoltre, se sei in qualche modo associato a questo progetto, dovresti rivelarlo. Grazie. – Kev

+0

hmm ... è un modo interessante di vederlo. Ho appena risposto a due domande che sono essenzialmente le stesse e ho cercato di essere utile a entrambi i post. Questa cosa può essere contrassegnata come spam? Questa è una comunità interessante. Lo terrò a mente comunque. Grazie. – Chris

0

Questo po 'di Javascript anche potrebbe aiutare:

<script> 
    if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|BB10|IEMobile|Opera Mini/i.test(navigator.userAgent)) //Specify the mobile devices that you would like this if statement to apply to. 
    { 
     image_y = document.getElementById('bodyID'); //Get the ID of the body and assign it to a variable. 
     image_y.parentNode.removeChild(image_y); //Remove the body to prevent anything loading on the screen in case there are issues with the window location redirect. 
     window.location = "mobile.html"; //Re-assign the window location to a new html page that is caters for the redirect. 
    } 
</script> 

ho messo in l'inizio del corpo HTML.