Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    Controllo su Variabile con Valore JS

    Salve,
    controllando con un if il valore di una variabile settata in questo modo:
    Codice PHP:
    $width '<script>resolutionX()</script>'
    Andando a controllare con un:
    Codice PHP:
        if(is_int($width)){echo 'False'
    O un:
    Codice PHP:
    if ($width 767) {echo 'False'
    Il risultato è sempre false.. Come faccio a rendere numerica quella stringa che contiene già un numero..?
    Finora non mi era successa una cosa del genere perchè il PHP, come saprete, è molto 'buona' con i programmatori nel senso che cambia la tipologia della variabile con grande flessibilità, non capisco perchè in questo caso ciò non accade..

  2. #2
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Non so se ho capito bene, ma sembra che stai facendo un po' di confusione. Non puoi "mischiare" php con js.
    Php gira sul server, js sul client...quindi scrivere

    $width = '<script>resolutionX()</script>';

    stai semplicemente assegnano una stringa ad una variabile php. poi nel client ha altro significato (funzione js) ma php ormai ha finito il suo lavoro

  3. #3
    Ma se faccio un echo $width mi da il valore giusto.. Quindi il problema è che il js viene elaborato dopo dell'esecuzione della pagina..
    Allora come si fa a passare la larghezza del display del dispositivo a PHP?
    Come fanno quelli che utilizzano l'Adaptive Design al posto del Responsive..?

  4. #4
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Se fai l'echo di $width hai semplicemente

    <script>resolutionX()</script>

    Non certo il valore. Poi come ti ho detto, visto che è iterpretato dal motore js del browser (lato client) otterrai il valore.

    Per determinare il dispositivo puoi usare gli header della richiesta che ti viene fatta (ad esempio $_SERVER['HTTP_USER_AGENT'])
    Per un lavoro io invece ho utilizzato questo:

    http://mobiledetect.net/

  5. #5
    E come potrei sfruttare lo User Agent..?
    Perchè io devo fornire un'immagine più grande o più piccola, in base al dispositivo..

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Non puoi semplicemente impostare la dimensione dell'immagine in percentuale tramite css invece che in dimensioni fisse?

  7. #7
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Se provi a stampare $_SERVER['HTTP_USER_AGENT'] noterai che è una stringa che contiene sistema operativo tipologia del browser e anche il nome del dispositivo (esempio iPhone).
    Basta che fai un preg_match es:

    http://stackoverflow.com/questions/4117555/simplest-way-to-detect-a-mobile-device

    Cmq ti consiglio http://mobiledetect.net/

  8. #8
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Non puoi semplicemente impostare la dimensione dell'immagine in percentuale tramite css invece che in dimensioni fisse?
    concordo anche io!
    ormai con le media queries puoi fare tutto, senza passare per php o js.
    se puoi, segui questa strada.

    sennò, come ti hanno già consigliato, usa mobiledetect.
    anche io l'ho usato in qualche progetto e ha funzionato bene.

  9. #9
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Non puoi semplicemente impostare la dimensione dell'immagine in percentuale tramite css invece che in dimensioni fisse?
    Si l'ho già fatto, però mi sembra ingiusto far caricare un'immagine che è grande per 4 volte quando deve essere visualizzata da un piccolo dispositivo..

  10. #10
    Quote Originariamente inviata da Luigi636 Visualizza il messaggio
    Si l'ho già fatto, però mi sembra ingiusto far caricare un'immagine che è grande per 4 volte quando deve essere visualizzata da un piccolo dispositivo..
    ma infatti dovresti caricarla in più risoluzioni.
    oppure rendere responsive anche quella, mantenendo le proporzioni.

    wordpress, ad esempio, usa la prima tecnica.
    carica anche fin troppe dimensioni differenti.

    alcuni framework css (tipo bootstrap) invece ha una classe css apposita.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.