Un include sélectif Mobile/Desktop en une fonction ? ok !
Les média queries, c'est super, mais en gros, ça permet de cacher ou montrer des éléments chargés et de modifier leur aspect en fonction de la résolution ou du support...
On peut toujours charger une feuille de style spécifique ou cibler les navigateurs mobiles, mais ça reste du stylage de contenu déjà chargé...
Et si on évitait de charger certaines parties selon le type de support, plutôt ?
Si vous ne trouvez pas ça trop c** niais, alors c'est par là...
La fonction, la voilà :
function Selective_include($desktop_file='',$mobile_file=''){ $regex='#android|iphone|ipad|Cellphone|blackberry|Windows Phone|symbian|mobile|bada|hiptop|HTC|MIDP-2\.|MMEF20|MOT-V|NetFront|Newt|Nintendo Wii|Nintendo DS|Nitro|Nokia|Opera Mobi|Opera Mini|Palm|PlayStation Portable|PSP|portalmmm|SonyEricsson|UP.Browser|UP.Link|webOS|Windows CE|WinWAP|YahooSeeker/M1A1-R2D2|LGE VX|Maemo|phone#i'; $z=preg_match($regex,$_SERVER['HTTP_USER_AGENT'],$resultat); if (!$z){include($desktop_file);return 'desktop';} else {include($mobile_file);return 'mobile';} }
On lui fournit le nom du fichier à include si on est sur un ordi de bureau/portable et celui qui correspond à un support mobile.
Cette astuce permet par exemple de ne charger que la version du menu qui correspond le mieux au support (pc - > menu déroulant à la souris, sur smartphone -> menu type liste déroulante) ...
Double avantage: on allège la page et on utilise éventuellement des techniques gérées nativement sur les navigateurs mobiles.
<div class="menu"><?php selective_include('menu_deroulant_desktop.php','liste_deroulante_mobile.php');?></div>
And... voilà !
Si ça peut servir, servez-vous, c'est cadeau...
❝ 3 commentaires ❞
Fil RSS des commentaires de cet article
✍ Écrire un commentaire
les commentaires relevant du SPAM seront filtrés et dégagés direct...