
Eleged van az Internet “kompatibilis” Explorer által hibásan megjelenített weblapokból? Unod a html fejlécbe írt trükkös böngésző detektáló szkripteket és még trükkösebb többsoros megoldásokat. Szeretnél végre egy valóban böngészőfüggetlen weblapot szerkeszteni?
Akkor a most bemutatásra kerülő szerver oldali böngésző detektáló szkriptre van szükséged!
A böngészőt most szerver oldalról detektáljuk, és onnan íratjuk ki a megfelelő stíluslapi előtagot, valahogy így: style_bongeszotipus.css, ahol a vastagon szedett rész helyére a szkriptünk írja be a megfelelő böngészők nevét: _netscape, _firefox, _safari, _opera, _explorer, _other. Így tehát egyetlen sorral elkészülhet a megfelelő stíluslap behívás, és eképpen néz majd ki pl. Firefox esetén: style_firefox.css.
Szerintem nagy előnye, hogy minden böngészőhöz egyedi stíluslapot tudunk rendelni, tehát nem kell trükkös sorokat csempészni a .css fájlba azért, hogy az egyik fajta böngésző másképp lássa azt, amit a másik. A lenti példa egy általam valóságban is használt, működőképes WordPress fejlécet mutat. Értelemszerűen módosítva a saját fejlécünknél is munkára foghatjuk ezt a szkriptet, egyszerűen csak a megfelelő sort/sorokat kell módosítanunk a fejlécben.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?php // Böngésző detektáló szkript if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Gecko') ) { if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Netscape') ) { $browser = '_netscape'; } // Netscape else if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox') ) { $browser = '_firefox'; } // Firefox else { $browser = '_safari'; } // Safari } else if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') ) { if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Opera') ) { $browser = '_opera'; } // Opera else { $browser = '_explorer'; } // Explorer } else { $browser = '_other'; } //Minden egyéb böngésző //echo $browser; //itt írja ki a böngésző nevéhez tartozó szöveget. ?> <link href="<?php bloginfo('stylesheet_directory'); ?>/style<?php echo $browser ?>.css" rel="stylesheet" type="text/css" media="all" /> |