JavaScript เป็นภาษาหลักของการพัฒนาส่วนหน้า โดยทั่วไปมีสองวิธีในการตัดสินประเภทเบราว์เซอร์ใน JavaScript บทความนี้วิเคราะห์ลักษณะของผู้ใช้ที่เกี่ยวข้องกับเบราว์เซอร์และให้วิธีการตัดสิน:
ชุดระบบปฏิบัติการ Windows Browser:
เช่นชุดเบราว์เซอร์:
ลักษณะ: ทั้งหมดเริ่มต้นด้วย "Mozilla/" และ X ใน "MSIE X.0;"
วิธีการตัดสิน: คุณสามารถค้นหา "MSIE X.0;" สำหรับการตัดสินอย่างคร่าวๆ
Firefox สำหรับ Windows:
คุณสมบัติ: เริ่มต้นด้วย "mozilla/x.0" รวมถึง "windows nt", "gecko/" และ "firefox/";
วิธีการตัดสิน: สำหรับการตัดสินอย่างคร่าวๆคุณสามารถดึงสตริง "Firefox/" และ "Windows NT" ได้เท่านั้น Firefox/";
Chrome สำหรับ Windows:
คุณสมบัติ: เริ่มต้นด้วย "Mozilla/X.0" รวมถึง "Windows NT", "Chrome/" และรวมถึง "Applewebkit/", "Safari/";
วิธีการตัดสิน: ผู้พิพากษาคร่าวๆคุณสามารถค้นหา "Windows NT" และ "chrome/" Strings และตัดสินอย่างเคร่งครัดคุณสามารถค้นหา "Mozilla/", "Windows NT", "Applewebkit/", "Safari/", "Chrome /"5 สตริง;
โอเปร่าสำหรับ Windows:
ลักษณะ: เริ่มต้นด้วย "Opera/" และมี "Windows NT", "Presto/" Strings;
วิธีการตัดสิน: คร่าวๆตัดสินเฉพาะการค้นหา "Windows NT" และ "Opera/" Strings และตัดสินอย่างเคร่งครัดค้นหา "Opera/", "Windows NT" และ "Presto/" ในเวลาเดียวกัน;
Safari สำหรับ Windows:
ลักษณะ: เริ่มต้นด้วย "mozilla/" และมี "windows nt", "applewebkit/", "safari/";
วิธีการตัดสิน: ผู้พิพากษาคร่าวๆคุณสามารถค้นหา "Windows NT", "Safari/" ไม่ใช่ "Chrome/" /"แต่" chrome/"ไม่รวม;
สรุป: ผู้ใช้เบราว์เซอร์บนระบบปฏิบัติการ Windows มีสตริง "Windows NT" เพื่อแสดงถึงระบบปฏิบัติการ Windows
ชุดเบราว์เซอร์แพลตฟอร์ม iPhone:
iPhone มาพร้อมกับ Safari:
ลักษณะ: เริ่มต้นด้วย "Mozilla/" มีสตริง "iPhone" และยังมีสตริง "มือถือ/", "Safari/";
วิธีการตัดสิน: คร่าวๆตัดสินเฉพาะการค้นหา "iPhone" และ "Safari/" Strings
Opera Mobile สำหรับ iPhone:
ลักษณะ: เริ่มต้นด้วย "Opera/" มีสตริง "iPhone" และยังมี "Opera Mini/", "Presto/" String;
วิธีการตัดสิน: คร่าวๆตัดสินเฉพาะการค้นหา "iPhone" และ "Opera/" Strings
สรุป: ผู้ใช้เบราว์เซอร์บนโทรศัพท์ iPhone มีสตริง "iPhone"
ชุดเบราว์เซอร์แพลตฟอร์ม Android:
Android มาพร้อมกับเบราว์เซอร์ (บางคนบอกว่ามันเป็นแค่ Chrome แต่ Google ไม่ได้สร้างข้อความใด ๆ และกำลังพัฒนา Chrome ไปยังโทรศัพท์ที่ทำงานบน Android):
ลักษณะ: เริ่มต้นด้วย "Mozilla/" มี "Android" และ "Linux" สตริงและยังมี "applewebkit/", "Strings Safari/" Mobile Safari/";
วิธีการตัดสิน: เพราะฉันไม่รู้ว่าจะมีซาฟารีอิสระบน Android ในอนาคต (ฉันเดาว่ามันจะไม่) จึงแนะนำให้ทำการตัดสินอย่างเข้มงวดโดยตรงและค้นหา "Mozilla/", "Android", " Linux "," Applewebkit/"," Mobile Safari/"Five Strings
Opera Mobile สำหรับ Android:
ลักษณะ: เริ่มต้นด้วย "Opera/" มี "Android" และ "Linux" สตริงและยังมี "Opera Mobi/", "Presto/" Strings;
วิธีการตัดสิน: ผู้ตัดสินโดยประมาณค้นหา "Android" และ "Opera/" และผู้พิพากษาอย่างเคร่งครัดจะต้องรวมทั้ง "Opera/", "Android", "Linux", "Opera Mobi/", "Presto/" Five Strings
Firefox สำหรับ Android:
ลักษณะ: เริ่มต้นด้วย "Mozilla/" ที่มี "Android" และ "Linux" Strings และยังมี "Firefox/", "Gecko/", "Fennec/" Strings;
วิธีการตัดสิน: คร่าวๆตัดสินเฉพาะการค้นหา "Android" และ "Firefox/" และผู้พิพากษาอย่างเคร่งครัดจะต้องรวมทั้ง "Mozilla/", "Android", "Linux", "Firefox/", "Gecko/", "Fennec/" Six Six สตริง
สรุป: ผู้ใช้เบราว์เซอร์บนแพลตฟอร์ม Android มีสตริง "Android" และ "Linux"
การวิเคราะห์ด้านบนของเบราว์เซอร์กระแสหลักของสามแพลตฟอร์มหลักของ Windows iPhone และ Android ได้สิ้นสุดลงโดยทั่วไป คล้ายกับแพลตฟอร์ม iPhone ดังนั้นในขณะที่ฉันจะไม่ทำการวิเคราะห์ในตอนนี้เพราะฉันไม่มีอุปกรณ์และระบบปฏิบัติการจำนวนมากในการทดสอบฉันหวังว่าฉันจะสามารถทำมันได้ในอนาคต
ข้อกำหนดการพัฒนาผลิตภัณฑ์ของเว็บไซต์ในปัจจุบันนั้นแตกต่างจากก่อนหน้านี้เนื่องจากไม่เพียง แต่จำเป็นต้องตอบสนองการค้นหาคอมพิวเตอร์ แต่ยังต้องพบกับสมาร์ทโฟนของผู้ใช้ (ที่นี่เราอ้างถึงสมาร์ทโฟนจริงเช่น iPhone, Android, Windows Phone และ Niches เช่น BlackBerry และ Palm ระบบกึ่งฉลาดไม่ได้รับการพิจารณาในขณะนี้ ตัดสินอุปกรณ์ผู้ใช้ตามผู้ใช้เบราว์เซอร์
1. หากคุณต้องการตัดสินระบบปฏิบัติการวิธีนี้ค่อนข้างง่าย
มี "Windows NT": เห็นได้ชัดว่าหมายเลขเวอร์ชันหลังจาก NT สามารถกำหนดเวอร์ชัน OS;
ระบบที่มี "Mac": Mac OS X ของ Apple หรือ Kernels Mac OS อื่น ๆ ;
มี "iPhone": พิเศษสำหรับโทรศัพท์ Apple iPhone และควรมี "Mac" โดยทั่วไป;
มี "iPad": แท็บเล็ต Apple iPad (ข้อมูลแสดงให้เห็นว่าผู้ใช้เบราว์เซอร์ iPad ยังมี "Mac", "iPhone", "iPad");
มี "Linux": ระบบปฏิบัติการ Linux หรือระบบปฏิบัติการอื่น ๆ ที่มี Linux เป็นเคอร์เนล
มี "Android": ระบบปฏิบัติการ Android ของ Google อาจเป็นสมาร์ทโฟนหรือแท็บเล็ตเวอร์ชัน Android โดยทั่วไป
มันมีหนึ่งในสามของระบบ: UNIX แต่อันที่จริงแล้วปัญหาประสบการณ์ผู้ใช้ของระบบนี้แทบจะไม่จำเป็นต้องพิจารณา
Linux ที่มี "Ubuntu": Ubuntu รุ่นปรับแต่ง
-
นอกจากนี้คุณยังเห็นว่าการตัดสินระบบปฏิบัติการและเวอร์ชันนั้นไม่ได้มีประโยชน์เสมอไป แต่มีสถานที่ที่สามารถใช้งานได้เสมอเช่นการพัฒนาหน้าเว็บที่กำหนดเป้าหมายความละเอียดหน้าจอของอุปกรณ์เช่น iPhone, iPad และ Android ฯลฯ โดยเฉพาะ
2. ไม่ใช่เรื่องยากที่จะตัดสินเคอร์เนลของเบราว์เซอร์
เช่นเคอร์เนล (ตรีศูล) (เช่นสำหรับ Mac, ies4linux ฯลฯ ลองพิจารณา windows เท่านั้น): เริ่มต้นด้วย "mozilla/" และมี "windows nt" และ "msie" สตริง;
เคอร์เนล Firefox (Gecko): เริ่มต้นด้วย "Mozilla/" มี "Firefox/" และ "Gecko/" Strings ซึ่งเวอร์ชั่น Android ยังมีสตริง "Fennec/";
Opera () เคอร์เนล: เริ่มต้นด้วย "Opera/" และมีสตริง "Presto/" เวอร์ชัน iPhone ยังมี "Opera Mini/" และเวอร์ชัน Android ยังมี "Opera Mobi/";
WebKit Kernel: เริ่มต้นด้วย "Mozilla/", มีสตริงของ "Applewebkit/" และ "Safari/" และเบราว์เซอร์ Chrome ที่มี "Chrome/" เป็นหนึ่งในไม่มี Safari หรืออื่น ๆ ;
ด้านบนเป็นเคอร์เนลหลักของเบราว์เซอร์
เคอร์เนลเบราว์เซอร์เป็นปัญหาสำคัญในการแก้ปัญหาความเข้ากันได้ แน่นอนเคอร์เนลเดียวกันทำให้ผลลัพธ์ของอุปกรณ์ต่าง ๆ เช่นสมาร์ทโฟนและคอมพิวเตอร์และสิ่งนี้ก็ต้องได้รับความสนใจ
3. ตัวอย่างของการใช้งานจริงของเบราว์เซอร์ USEAGENT:
เมล็ดเบราว์เซอร์ที่แตกต่างกันมีผลกระทบที่แตกต่างกันในหน้าเว็บ
ผู้ใช้ไม่เพียง แต่เข้าถึงเว็บไซต์ผ่านคอมพิวเตอร์ด้วยความนิยมที่เพิ่มขึ้นของสมาร์ทโฟนและความนิยมของแท็บเล็ต แท็บเล็ตใช้ได้ดีหน้าจอมีความละเอียดสูงและสูง คุณถูก? ท้ายที่สุดแล้วมันก็อึดอัดมากที่จะดูหน้าเว็บผ่านการซูมและการลากในท้องถิ่น เร่งการเข้าถึง
ทำการวิเคราะห์การจราจรของผู้เข้าชมเพิ่มประสิทธิภาพและออกแบบเว็บไซต์ของคุณเองโดยการตัดสินประเภทของเบราว์เซอร์ลูกค้าและบันทึกจำนวนลูกค้าเพื่อปรับปรุงประสบการณ์ของลูกค้าแยกกัน
การคัดลอกรหัสมีดังนี้:
<script type = "text/javascript">
var sys = {};
var ua = navigator.useragent.toLowercase ();
var s;
(s = ua.match (/msie ([/d.like+)/)?
(s = ua.match (/firefox // ([/d.]+)/))?
(s = ua.match (/chrome // ([/d.]+)/))?
(s = ua.match (/opera. ([/d.]+)/))?
(s = ua.match (/เวอร์ชัน // ([/d.]+).*Safari/))?
// การทดสอบต่อไปนี้
if (sys.ie) document.write ('IE:' + sys.ie);
if (sys.firefox) document.write ('firefox:' + sys.firefox);
if (sys.chrome) document.write ('Chrome:' + sys.chrome);
if (sys.opera) document.write ('opera:' + sys.opera);
if (sys.safari) document.write ('Safari:' + sys.safari);
</script>
หรือ:
วิธีการตรวจจับเบราว์เซอร์ในรหัสตัวแก้ไข Open Source Open Source:
ke = {};
ke.browser = (function () {
var ua = navigator.useragent.toLowercase ();
กลับ {
เวอร์ชัน: ua.match (/(msie | firefox | webkit | opera) [//:/s] (/d+)/)?
เช่น: (ua.indexof ("msie")> -1 && ua.indexof ("opera") == -1),
Gecko: (ua.indexof ("gecko")> -1 && ua.indexof ("khtml") == -1),
WebKit: (ua.indexof ("Applewebkit")> -1),
Opera: (ua.indexof ("Opera")> -1)
-
-