Web Technology Web Design Web Programming PHP Wordpress
พอดีเพื่อนถามว่ามีโคดตรวจสอบเบราเซอร์ป่าว
ตอนแรกผมก็ไม่รู้หรอกนะคับ ว่ามันเขียนยังไง
ก็ถามกูเกิลเอา แล้วก็ส่งลิงค์ให้เพื่อน - -”
ก็เลยถือโอกาสเอามาเขียนซะหน่อย
เอาไปใช้ทำไร
ไม่รู้เหมือนกันอะคับ ไม่เคยมีความจำเป็นต้องใช้
แต่ที่เห็นว่าน่าจะใช้ก็พวกโคดเก็บสถิติการเข้าเว็บต่าง ๆ
การเขียนโคดเพื่อทำงานเฉพาะแต่ละเบราเซอร์(ตอนนี้ไม่นิยมแล้ว)
ภาษาที่ใช้
ตรวจสอบโดยใช้ PHP
วิธีแรกเราจะใช้ $_SERVER['HTTP_USER_AGENT'] ซึ่งจะคืนค่า
มาเป็น string ประกอบด้วยข้อมูลของผู้ใช้ที่เข้าเว็บเรา
เช่น ระบบปฏิบัติการ, เบราเซอร์
ตัวอย่าง สมมติคนที่เข้าเว็บเราใช้ ie 6 บน windows
ข้อมูลที่ได้ก็จะเป็นดังนี้
เริ่มปฏิบัติการด้วยการใช้ฟังก์ชัน strpos() หาว่าใน string
ที่ใส่เข้าไปเป็น parameter ตัวแรกเนี่ย มีคำ
ที่ใส่เข้าไปเป็น parameter ตัวที่สองไหม
ที่จริงแล้วฟังก์ชันนี้ใช้หาตำแหน่งคำ มันจะคืนค่ามาเป็น
false ถ้าหากมันหาคำนั้นไม่เจอ หรือ คืนค่าตัวเลขตำแหน่งมาถ้าหาเจอ
อีกวิธีนึง เป็นวิธีที่ใช้ฟังก์ชันที่ php เตรียมมาให้แล้ว
นั่นก็คือ get_browser() เป็นวิธีที่เรียกใช้ได้ง่ายมาก ๆ
ดังตัวอย่างข้างล่างนี้
ถ้าจะใช้วิธีนี้คุณต้องโหลดไฟล์ browscap.ini มาเอง ดาวน์โหลด
ทั้งนี้ก็เพราะว่าไฟล์นี้เป็นไฟล์ที่เก็บรวมรวบข้อมูลไว้(ฐานข้อมูล)
มีการอัพเดทประจำ เขาจึงไม่รวมไว้กับการติดตั้ง php ต้องหามาใส่เอง
และเอา comment ในไฟล์ php.ini ออกดังนี้
เพียงเท่านี้ก็ใช้ได้แล้ว แต่ที่เลวร้ายที่สุดคือ หากคุณใช้บริการเว็บโฮสติ้ง
เขาคงไม่หาไฟล์ฐานข้อมูลนี้ มาใส่ให้คุณหรอกคับ
มันก็มีทางแก้อยู่เหมือนกัน มีคนทำ module ให้เราโหลดมา
แล้วเรียกใช้ได้เลย ดาวน์โหลด
โหลดแล้ว save เป็นชื่อ “php-local-browscap.php”
(ตั้งชื่อว่าอะไรก็ได้ แต่ผมขอใช้ชื่อนี้นะ)
และโหลดไฟล์ browscap.ini (save เป็นชื่อนี้เท่านั้น ถ้าไม่อยากยุ่งยาก) ดาวน์โหลด
มาไว้ในโฟล์เดอร์ที่เก็บโคดตรวจสอบเบราเซอร์ และ php-local-browscap.php ด้วย
เพราะไฟล์ php-local-browscap.php นี้มันก็จะดึงข้อมูลมาจาก browscap.ini
ใช้ฟังก์ชัน require_once();
เพื่อ include ไฟล์ข้างต้นนี้มาไว้ในไฟล์ php ที่เราจะเขียนโคดตรวจสอบเบราเซอร์
เปลี่ยนจากฟังก์ชัน get_browser() เป็น get_browser_local()
เสร็จแล้ว ง่ายไม๊
ตรวจสอบโดยใช้ javascript
ส่วนการใช้ javascript ก็ตามโคดข้างล่างนี้เลยครับ ผมจะไม่อธิบายเพราะ
ไม่ค่อยรู้เรื่อง javascript คับ
ถนัดวิธีไหนก็ใช้วิธีนั้นละกันคับ
References:
callmebird is Bird's weblog. Bird is blogger who spend life for programming and web technology. This weblog provide web technology article for anyone who love web programming and web design.
Bggaro
June 29th, 2009 at 11:07 am
แจ๋ว ครับ กำลังหาอยู่พอดีเลย..
พอดีเว็บ ที่ผมทำ มันใช้กับ IE6 ไม่ได้ เลย กะว่า จะให้มีข้อความแจ้งเตือน ให้โหลดโปรแกรมอื่นมาใช่น่ะครับ…
————————
ใน code ตัวอย่างนี้มีแค่ IE กับ FF เท่านั้นเอง…
อยากให้มีหลายๆ ตัวอ่ะครับ