|
由於作業系統及瀏覽器的不同,用戶端經常會出現不同的流覽結果,有些時候網站的效果也不能呈現,因此,必須透過辨識作業系統及瀏覽器來校定。
首先,先使用$_SERVER["HTTP_USER_AGENT"];碼來取得用戶端的作業系統及瀏覽器。
然後定義各種作業系統與瀏覽器。
第一段語法就是取得並定義作業系統及瀏覽器:
- <?
- $ua = $_SERVER["HTTP_USER_AGENT"];
- /* ==== Detect the OS ==== */
- // ---- Mobile ----
- // Android
- $android = strpos($ua, 'Android') ? true : false;
- // BlackBerry
- $blackberry = strpos($ua, 'BlackBerry') ? true : false;
- // iPhone
- $iphone = strpos($ua, 'iPhone') ? true : false;
- // Palm
- $palm = strpos($ua, 'Palm') ? true : false;
- // ---- Desktop ----
- // Linux
- $linux = strpos($ua, 'Linux') ? true : false;
- // Macintosh
- $mac = strpos($ua, 'Macintosh') ? true : false;
- // Windows
- $win = strpos($ua, 'Windows') ? true : false;
- /* ============================ */
- /* ==== Detect the UA ==== */
- // Chrome
- $chrome = strpos($ua, 'Chrome') ? true : false; // Google Chrome
- // Firefox
- $firefox = strpos($ua, 'Firefox') ? true : false; // All Firefox
- $firefox_2 = strpos($ua, 'Firefox/2.0') ? true : false; // Firefox 2
- $firefox_3 = strpos($ua, 'Firefox/3.0') ? true : false; // Firefox 3
- $firefox_3_6 = strpos($ua, 'Firefox/3.6') ? true : false; // Firefox 3.6
- // Internet Exlporer
- $msie = strpos($ua, 'MSIE') ? true : false; // All Internet Explorer
- $msie_7 = strpos($ua, 'MSIE 7.0') ? true : false; // Internet Explorer 7
- $msie_8 = strpos($ua, 'MSIE 8.0') ? true : false; // Internet Explorer 8
- // Opera
- $opera = preg_match("/bOperab/i", $ua); // All Opera
- // Safari
- $safari = strpos($ua, 'Safari') ? true : false; // All Safari
- $safari_2 = strpos($ua, 'Safari/419') ? true : false; // Safari 2
- $safari_3 = strpos($ua, 'Safari/525') ? true : false; // Safari 3
- $safari_3_1 = strpos($ua, 'Safari/528') ? true : false; // Safari 3.1
- $safari_4 = strpos($ua, 'Safari/531') ? true : false; // Safari 4
- /* ============================ */
- ?>
複製代碼
如加上這一段語法可以測試瀏覽器與作業系統(Tests for browsers and operating systems)
這一段簡單的語法可以將手機用戶導入手機版(Mobile Redirect to GOOGLE)
- <?
- $ua = $_SERVER["HTTP_USER_AGENT"];
- $android = strpos($ua, 'Android') ? true : false;
- $blackberry = strpos($ua, 'BlackBerry') ? true : false;
- $iphone = strpos($ua, 'iPhone') ? true : false;
- $palm = strpos($ua, 'Palm') ? true : false;
- if ($android || $blackberry || $iphone || $palm) {
- // 301 redirection
- header("HTTP/1.1 301 Moved Permanently");
- header("Location: http://m.google.com");
- exit();
- }
- ?>
複製代碼
這一段語法可以位個別瀏覽器制定CSS Give IE7 different CSS with HTML explanation
- <?
- $ua = $_SERVER["HTTP_USER_AGENT"];
- $msie_7 = strpos($ua, 'MSIE 7.0') ? true : false;
- if ($msie_7) {
- echo '
- ie7class
- ';
- }
- ?>
複製代碼
這一段語法可以補充IE所欠缺的功能
- <?
- if ($msie_7) {
- echo "
- oh yah, MSIE7 can't understand inline-block... The MSIE6 & 7 Fix?
- <style type="text/css" media="screen" title="IE7 CSS">
- .inline-block {display:inline;zoom:1;}
- </style>
- ";
- }
- ?>
複製代碼
|
|