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 ❞

1  JeromeJ le

Not bad, not bad

 
2  Lucie le

Ho super merci decidement Google est magique, je cherchais un truc, je suis tombé sur votre site par hasard et vous avez exactement la réponse :) Merci ! :D

 
3  jerrywham le

Là, je dis allo quoi ! (référence au mobile bien sûr...) :p

 

Fil RSS des commentaires de cet article

✍ Écrire un commentaire

les commentaires relevant du SPAM seront filtrés et dégagés direct...

Quelle est le sixième caractère du mot bh2ma9xi ?