Ho un sito Web in cui nella versione desktop viene visualizzata una barra laterale contenente da 10 a 20 immagini di piccole dimensioni. Fino ad ora, sui dispositivi mobili questa sidebar era semplicemente nascosta con un display: none
, che è la soluzione meno performante dal momento che tutte le immagini verranno caricate comunque.visualizza in modo condizionale il contenuto basato su Media Query
Ora mi chiedo quale sia il modo migliore per disattivare completamente la barra laterale sui dispositivi mobili (senza utilizzare una richiesta AJAX separata).
La soluzione migliore mi veniva in mente è la seguente:
- scrivere il codice HTML della barra laterale in un test JavaScript variabile
- la larghezza del dispositivo controllando una media query con JavaScript (ad esempio utilizzando
Modernizr.mq
o così) - se questo test produce un dispositivo non mobile, scrivere il contenuto della variabile nel DOM, ad esempio utilizzando
innerHTML
,jQuery.append
,jQuery.prepend
o simile
So che le prestazioni RWD a volte possono essere un argomento molto complicato e che la soluzione più performante spesso non è ovvia. Quindi qualcuno può pensare ad una soluzione migliore rispetto a quella presentata sopra?
Penso che sia una buona soluzione ... è possibile utilizzare il plugin jQuery.mobile.js per scoprire se il dispositivo che colpisce il sito è mobile o meno con una semplice istruzione ifline a 1 riga. – tymeJV