• ModSenior

    Ciao Laura206.

    E' giusto il reindirizzamento lato server perché quello con javascript su un dispositivo mobile potrebbe non funzionare; l'utente del palmare / smartphone potrebbe avere disabilitato l'esecuzione del codice js, cosa moto più probabile che su un pc.

    If Request.Browser("IsMobileDevice") Then
    Response.Redirect("mobile.htm")
    End If
    

    IsMobileDevice è una classe che si appoggia al file machine.config per sapere se una richiesta arriva da un dispositivo mobile oppure no.
    La lista dei dispostivi è statica, quindi non può riconoscere i nuovi smartphone (oppure quelli che i programmatori .net non hanno inserito) e quindi hai due possibilità:

    • aggiungere la definizione per i dispositivi che ti interessa (devi creare un device profile e registrarlo)
    • anziché controllare se è un dispositivo mobile fai un controllo per tipo di browser, cioè se è opera mini allora, se è blackberry allora ecc. ecc. ecc.
      Io lo farei in base all'useragent:
    Dim userAgent As String
     userAgent = Request.UserAgent
     If userAgent.IndexOf("BlackBerry") > -1 Then
       ...
     End If 
    

    Può capitare che l'utente del blackberry abbia modificato l'useragent per apparire come IE, ma a quel punto è una sua scelta consapevole e io la interpreto come se volesse proprio contenuto per pc e non ottimizzato per palmare.

    Valerio Notarfrancesco


  • User

    Funziona!!
    Grazie mille! :):)
    Ora devo solo riuscire a inserire la data e ora ma senza l'uso di javascript?
    E' possibile?


  • ModSenior

    Sono contento.

    Usare javascript o meno è una scelta che solo tu puoi fare in base a quello che vuoi ottenere;
    comunque certo che puoi farlo eseguirlo lato server al framework .net con qualcosa del tipo ```
    mialabel.Text = DateTime.Now.ToString()

    
    Valerio Notarfrancesco

  • User

    Rieccomi! 😉
    E se la pagina su cui devo installare il codice per il reindirizzamento fosse una pagina statica html?
    Come faccio?


  • ModSenior

    E io ritorno 🙂

    Con l'html e basta non puoi farlo, lato client puoi farlo con javascript ma incorreresti nei problemi che ho considerato nel #2.

    Non puoi proprio farlo lato server con un redirect?

    Se poi proprio vuoi farlo potresti partire da qualcosa del genere
    molto molto rozza:

    
    <script type="text/javascript">
    var miobrowser = navigator.appName;
    var Pos = miobrowser.indexOf("BlackBerry");
    if (Pos > o)  <-- da controllare ? 
       {
       location.href = "pagina_bb.htm";
       }
    else
       {
       location.href = "pagina_tutti.htm";
       }
    </script>
    

    Consiglio lato server comunque.

    Valerio Notarfrancesco


  • User

    Grazie!
    Allora provo a rendere la pagina htm una pagina php (quest'altro sito è su un altro server diverso da quello dell'altra volta) e mi cerco il codice per il reindirizzamento 🙂


  • ModSenior

    Prego,
    Quando avrai risolto, se vorrai, potresti scrivere qua il codice così da togliermi la curiosità.

    Valerio Notarfrancesco


  • User

    Ciao,
    ho trovato questa cosa cercando per il web e funziona! 🙂

    Ho reso la home.php ed ho inserito questo codice:
    <?php
    include('mobile_device_detect.php');
    mobile_device_detect(true,true,true,true,'indirizzoSitoMobile',false);
    ?>

    E sullo stesso livello ho copiato la pagina 'mobile_device_detect.php' (sempre trovata in rete!)

    Su blackberry va ma per iPhone ho dovuto abbinarci ancora il javascript.

    :ciauz:


  • ModSenior

    Grazie. :smile5:

    :ciauz:
    Valerio Notarfrancesco


  • User Newbie

    Salve, sono nuovo, e innanzitutto vi voglio salutare e vorrei fare una domanda in merito asl funzionamente dello script che l'utente Laura206 dice che funziona.
    Io ho scaricato il file mobile_device_detect.php e creata la funziona dal sito d iriferimento dello script fin qui tutto ok...
    Ho reso la mia pagina home.php e inserita la funziona ( ho provato già a psotarla ma mi dice che non sono utente gold e non posso mettere url ecc)
    Comunque l'errore sta quando provo a entrare dal mio blackberry browser dallo stesso browser mobile blackbbery mi da un errore (o warning ) in linea 165 del file mobile_device_detect.php
    la linea 165 è quella della Location del mio sito mobile....io li ho semplicemente inserito l'url del sito mobile mio e basta....

    Qualcuno di voi mi potrebbe dire come funziona? Perchè a me la funzione di redirect proprio non vuole funzionare!

    Ve ne sarei grato.


  • User Attivo

    Scusate se mi intrometto in questa vecchia discussione...

    Mi domandavo se era possibile inserire la funzione ```
    <?php
    require_once('mobile_device_detect.php');
    mobile_device_detect(true,false,true,true,true,true,true,'http://mobile.miosito.com',false);
    ?>

    
    in una pagina che non sia .php ma .html.
    
    Grazie per il vostro aiuto...

  • ModSenior

    @d-force said:

    [...]
    Mi domandavo se era possibile inserire la funzione [...]
    in una pagina che non sia .php ma .html.

    Certo, è possibile. Dipende però dal server che utilizzi. Devi solo impostare l'interprete php in modo che processi lui anche le pagine html.
    Se usi apache prova aggiungendo questa istruzione al file .htaccess:

    AddType application/x-httpd-php .html

    Valerio Notarfrancesco