Hasil pengetesan berbagai User Agent yang populer, dengan target web yang ditampilkan yang cukup populer secara nasional diwakili detik.com dan secara internasional diwakili yahoo.com, hasilnya sebagai berikut:
User Agent => Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; Nexus S Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 Browser Name => Android 2.3 Nexus S Web Detection => m.detik, m.yahoo User Agent => Mozilla/5.0 (Linux; U; Android 4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 Browser Name => Android 4 Galaxy Nexus Web Detection => m.detik, m.yahoo User Agent => Mozilla/5.0 (BlackBerry; U; BlackBerry 9900; en-US) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.0.0.187 Mobile Safari/534.11+ Browser Name => Blackberry 9900 Web Detection => m.detik, m.yahoo User Agent => Mozilla/5.0 (BB10; Touch) AppleWebKit/537.1+ (KHTML, like Gecko) Version/10.0.0.1337 Mobile Safari/537.1+ Browser Name => Blackberry 10 Web Detection => m.detik, m.yahoo User Agent => Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13 Browser Name => MeeGo Nokia N9 Web Detection => m.detik, m.yahoo User Agent => Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5 Browser Name => iPhone iOS 4 Web Detection => m.detik, m.yahoo User Agent => Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3 Browser Name => iPhone iOS 5 Web Detection => m.detik, m.yahoo User Agent => Mozilla/5.0 (Android; Tablet; rv:14.0) Gecko/14.0 Firefox/14.0 Browser Name => Firefox 14 Android Tablet Web Detection => m.detik, m.yahoo User Agent => Mozilla/5.0 (Android; Mobile; rv:14.0) Gecko/14.0 Firefox/14.0 Browser Name => Firefox 14 Android mobile Web Detection => m.detik, m.yahoo User Agent => Mozilla/5.0 (Linux; Android 4.1.2; Nexus 7 Build/JZ054K) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19 Browser Name => Chrome Android Tablet Web Detection => m.detik, m.yahoo User Agent => Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76B) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133 Mobile Safari/535.19 Browser Name => Chrome Android Mobile Web Detection => m.detik, m.yahoo.com ====================================== User Agent => Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1 Browser Name => Firefox 4 Mac Web Detection => www.detik.com, www.yahoo.com User Agent => Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1 Browser Name => Firefox 4 Windows Web Detection => www.detik.com, www.yahoo.com User Agent => Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:7.0.1) Gecko/20100101 Firefox/7.0.1 Browser Name => Firefox 7 Mac Web Detection => www.detik.com, www.yahoo.com User Agent => Mozilla/5.0 (Windows NT 6.1; Intel Mac OS X 10.6; rv:7.0.1) Gecko/20100101 Firefox/7.0.1 Browser Name => Firefox 7 Mac Web Detection => www.detik.com, www.yahoo.com User Agent => Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0) Browser Name => Internet Explorer 7 Web Detection => www.detik.com, www.yahoo.com User Agent => Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0) Browser Name => Internet Explorer 8 Web Detection => www.detik.com, www.yahoo.com User Agent => Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) Browser Name => Internet Explorer 9 Web Detection => www.detik.com, www.yahoo.com User Agent => Mozilla/5.0 (iPad; CPU OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5 Browser Name => iPad iOS4 Web Detection => www.detik.com, www.yahoo.com User Agent => Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3 Browser Name => iPad iOS5 Web Detection => www.detik.com, www.yahoo.com User Agent => Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML, like Gecko) Version/7.2.1.0 Safari/536.2+ Browser Name => Playbook 2.1 Web Detection => www.detik.com, www.yahoo.com
Berdasarkan hasil tersebut bisa dibuat script PHP yang mampu meredirect halaman web ke versi mobile jika script PHP ini mendeteksi User Agent pada browser yang mengaksesnya bertipe Mobile.
index.php => mobile-browser-detect.php => mobile.php.
Cara kerjanya adalah ketika halaman utama web yaitu index.php diakses, maka akan dipanggil (include) file mobile-browser-detect.php yang akan mendeteksi User Agent dari Browser Web yang mengaksesnya. Jika bertipe mobile maka script akan me-redirect halaman web ke file mobile.php, sebaliknya, jika tidak bertipe mobile maka halaman yang tampil tetap halaman index.php.
Script PHP mobile-browser-detect.php berisi kode program seperti ini :
<?php $mystring = $_SERVER['HTTP_USER_AGENT']; //echo $_SERVER['HTTP_USER_AGENT']; $findme = 'Android'; $pos = strpos(strtolower($mystring), strtolower($findme)); // The !== operator can also be used. Using != would not work as expected // because the position of 'a' is 0. The statement (0 != false) evaluates // to false. $ismobile = false; if ($pos !== false) { //echo "The string '$findme' was found in the string '$mystring'"; // echo " and exists at position $pos"; $ismobile = true; } else { //echo "The string '$findme' was not found in the string '$mystring'"; } $findme = 'iPhone'; $pos = strpos(strtolower($mystring), strtolower($findme)); if ($pos !== false) { $ismobile = true; } $findme = 'Mobile Safari'; $pos = strpos(strtolower($mystring), strtolower($findme)); if ($pos !== false) { $ismobile = true; } $findme = 'Blackberry'; $pos = strpos(strtolower($mystring), strtolower($findme)); if ($pos !== false) { $ismobile = true; } $findme = 'MeeGo'; $pos = strpos(strtolower($mystring), strtolower($findme)); if ($pos !== false) { $ismobile = true; } if ($ismobile == true) { //echo "Browser Mobile"; header("location:mobile.php"); } else { //echo "Browser Desktop"; } ?>
Ketika dilakukan pengetesan menggunakan User Agent bertipe Browser Mobile, hasilnya akan loncat (redirect) ke halaman mobile.php :
Sebaliknya jika diakses dengan browser normal dengan User Agent bertipe Desktop maka hasilnya tetap menampilkan index.php :
Project selengkapnya silakan didownload disini. Jika kesulitan ini caranya.
Semoga bermanfaat.
Tidak ada komentar:
Posting Komentar