����������� หลังจากเป็นที่ฮือหากับการเปิดตัวของ browser เจ้าใหม่แต่ชื่อไม่ใหม่อย่าง Google Chrome ของค่ายยักษ์ใหญ่อย่าง Google ที่ทำอะไรก็รุ่งไปหมด ทำให้ตลาดของ browser ตื่นตัวขึ้นอีกครั้งซึ่งเรื่องนั้นเราไม่พูดถึงเราจะมาพูดถึงเรื่องที่เราถนัดดีกว่านั้นก็คือเรื่องของการเขียนโปรแกรม
����������� การเปิดตัวของ Google Chrome ทำให้วงการ Software ต้องมีการปรับปรุงไม่มากก็น้อยซึ่งที่เห็นได้ชัดก็คือการปรับให้ Software สามารถรันบน Google Chrome ได้ ซึ่งปัญหาที่เห็นได้ชัดที่สุดก็คือบรรดา Rich Text Editor ทั้งหลายต่างเอ๋อไปตามๆกันเมื่อรันผ่าน Google Chrome เพราะไม่รู้จักว่ามันเป็นใครก็ที่ไม่รู้จักก็เพราะว่าตัว USER_AGENT ของ Google Chrome ทะลึ่งมีหน้าตาแปลกๆ�
�Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.29 Safari/525.13
�แล้วอย่างนี้ที่เขียนกันเอาไว้ก็ไม่รู้ว่าจะเข้าเงื่อนไขไหนเพราะมันมีทั้ง Mozilla , Gecko , Chrome , Safari งงเลย
����������� ล่าสุดในวันที่ผมนั่งเขียน (12 กย. 51) Rich Text Editor เจ้าใหญ่ๆพากันปรับให้สามารถใช้งานบน Google Chrome แล้วอย่าง Spaw, TinyMCE ( Open Source หลายตัวใช้อยู่เช่น Moodle, Wordpress) จริงๆแล้ว Rich Text Editor เหล่านี้จะใช้ JavaScript ในการ detect browser ซึ่งถ้าอธิบายก็คงต้องไปนั่งไล่ JavaScript อีกยาว เอาเป็นว่าเอาตัวอย่างที่เป็น PHP ไปลองเล่นกันก็แล้วกัน
function userAgent($minor=false){
$agents = array('MSIE'=>'/MSIE ([0-9]\.[0-9])/', 'Firefox'=>'/Firefox\/([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*)/', 'Opera'=>'/Opera\/([0-9]*\.[0-9])/','Safari'=>'/Version\/([0-9]*\.[0-9]*\.?[0-9]*)/','Chrome'=>'/Chrome\/([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*)/');
foreach($agents as $agent=>$pattern){
preg_match($pattern,$_SERVER['HTTP_USER_AGENT'],$match);
if(isset($match[1])){
if($minor){
return $agent.' '.$match[1];
}
else
{
return $agent.' '.floor($match[1]);
}
}
}
return 'Unknown browser';
}
echo userAgent(true) ;
ทดสอบ: demo
�

