สายอักขระตัวแทนผู้ใช้ของ Microsoft Edge


11

ฉันเพิ่งสังเกตว่าในขณะที่เบราว์เซอร์อื่น ๆ ทั้งหมดดูเหมือนจะมีสตริงตัวแทนผู้ใช้ของตัวเอง Microsoft Edge ก็ดูเหมือนจะมีลักษณะดังนี้:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393

ทำไมมันมี Mozilla, Chrome และ Safari และไม่ใช่แค่ Edge ในนั้น?

คำตอบ:


4

เหตุใดจึงมี Mozilla, Chrome และ Safari และไม่ใช่แค่ Edge ในนั้น

ผู้ออกแบบเว็บเพจนั้นขี้เกียจและพวกเขาพยายามปิดกั้นผู้เข้าชมจากการใช้เบราว์เซอร์ที่เฉพาะเจาะจงเพราะพวกเขาต้องการใช้เฟรมเวิร์คที่ง่ายขึ้นซึ่งรองรับโดยเบราว์เซอร์บางตัวเท่านั้น

นอกจากนี้ยังเป็นการตัดสินใจออกแบบโดยเจตนาเพื่อ จำกัด ประโยชน์ของการตรวจสอบตัวแทนผู้ใช้ การตัดสินใจครั้งนี้น่าจะขึ้นอยู่กับข้อเท็จจริง (จากมุมมองของนักพัฒนา Spartan / Edge) นั่นคือในอดีตเว็บไซต์จะค้นหาเฉพาะ IE และแจ้งให้ผู้ใช้ใช้เบราว์เซอร์อื่น

เนื่องจาก Edge / Spartan เป็นความพยายามครั้งแรกของ Microsoft ในการทำให้เครื่องยนต์ Trident ทันสมัยและจุดประสงค์ของ Edge / Spartan คือเพื่อให้ตรงกับชุดคุณลักษณะของ (Blink, AppleWebKit และ Gecko) ในเวลานั้นตัวแทนผู้ใช้เพียงแค่โฆษณาตัวเองว่าเป็นทุกสิ่ง เพื่อป้องกันไม่ให้ผู้ออกแบบเว็บเพจทำการกำหนดเป้าหมาย Edge อย่างง่ายดายเหมือนกับที่พวกเขาตั้งเป้าหมาย IE

เว็บไซต์จำนวนมากที่คุณเยี่ยมชมในวันนี้จะไม่แสดงผลที่ดีใน IE เพราะเว็บไซต์เหล่านั้นไม่ได้เข้ารหัสอย่างถูกต้องและมักจะแสดงหน้าเว็บเหมือนในเบราว์เซอร์เก่าแม้ว่า Internet Explorer 11 จะรองรับมาตรฐานเว็บใหม่มากมาย บางหน้าจะแสดงอย่างไม่ถูกต้องใน IE ในขณะที่ทำงานได้ดีบนเบราว์เซอร์อื่นเช่น Chrome หรือ Firefox

นอกจากนี้ยังมีปัญหาเกี่ยวกับการเลื่อนแบบกระตุกที่ไม่ได้หายไปสำหรับบางเว็บไซต์แม้หลังจากที่คุณปิดการเลื่อนแบบนุ่มนวลและมีบางกรณีที่องค์ประกอบสำคัญจะไม่แสดงเนื่องจากหน้าเว็บระบุเบราว์เซอร์ของคุณเป็น IE

เอนจิ้นใหม่ของ Microsoft Spartan มาสก์ตัวเองเป็น Chrome

Chrome และ Firefox ยังทำสิ่งที่คล้ายกัน:

Mozilla / 5.0 (Windows NT XY; WOW64) AppleWebKit / 537.36 (KHTML เช่น Gecko) Chrome / 50.0.2657.0 Safari / 537.36, gzip (gfe), gzip (gfe) "

เป็นมูลค่าชี้ให้เห็นว่าตัวแทนผู้ใช้ของ IE11 คล้ายกัน:

Mozilla / 5.0 (Windows NT 10.0; WOW64; Trident / 7.0; rv: 11.0) เช่น Gecko

การเปลี่ยนแปลงสตริงของตัวแทนผู้ใช้


2

Edge แกล้งทำเป็น Chrome และ Chrome แกล้งทำเป็น Safari และ Safari แกล้งทำเป็น Mozilla และ Edge ใช้ EdgeHTML แต่ไม่เปิดเผยและ Chrome ใช้ Blink แต่ไม่เปิดเผย แต่ Chrome แสร้งทำเป็นใช้ WebKit และ Webkit แสร้งทำเป็น KHTML และ KHTML แสร้งทำเป็นตุ๊กแก และความสับสนเกิดขึ้นมากมายบนหน้าเว็บ

นำมาจากชื่อสตริงตัวแทนผู้ใช้สำหรับ Microsoft Edge คืออะไร? แสดงความคิดเห็นโดยClaude

สายอักขระ Microsoft Edge UA:

Mozilla / 5.0 (Windows NT 10.0) AppleWebKit / 537.36 (KHTML เช่น Gecko) Chrome / 42.0.2311.135 Safari / 537.36 Edge / 12.10136

ฉันให้รายละเอียดว่าทำไมในโพสต์บล็อกนี้

Neowin เพิ่งรายงานว่าเบราว์เซอร์ใหม่ของ Microsoft สำหรับ Windows 10, Spartan ใช้สตริง Chrome UA “ Mozilla / 5.0 (Windows NT 10.0; WOW64) AppleWebKit / 537.36 (KHTML เช่น Gecko) Chrome / 39.0.2171.71 Safari / 537.36 Edge / 12.0 " ที่ทำตามวัตถุประสงค์

คุณจะสังเกตเห็นว่าสตริงทั้งหมดลงท้ายด้วย“ Edge / 12.0″ ซึ่ง Chrome ไม่มี

ฉันควรชี้ให้เห็นว่านี่ไม่ใช่การเดินทางซ้ำซ้อนจากสิ่งที่ Microsoft ทำกับ IE 11 ซึ่งอ่านบน Windows 8: Mozilla / 5.0 (Windows NT 6.3; Trident / 7.0; rv: 11.0) เช่น Gecko ตามที่อธิบายไว้ในนี้ เสา

ตัวแทนผู้ใช้กำลังดมกลิ่นคืออะไร?

บ่อยครั้งที่นักพัฒนาเว็บจะใช้ UA ในการตรวจจับเบราว์เซอร์ Mozilla อธิบายได้ดีในบล็อก:

การแสดงเว็บเพจหรือบริการต่าง ๆ ไปยังเบราว์เซอร์ที่แตกต่างกันนั้นเป็นความคิดที่ไม่ดี ทุกคนในเว็บสามารถเข้าถึงได้โดยไม่คำนึงถึงเบราว์เซอร์หรืออุปกรณ์ที่ใช้ มีวิธีในการพัฒนาเว็บไซต์ของคุณเพื่อปรับปรุงตัวเองอย่างต่อเนื่องโดยขึ้นอยู่กับความพร้อมใช้งานของฟีเจอร์แทนการกำหนดเป้าหมายเบราว์เซอร์ที่เฉพาะเจาะจง

นี่เป็นบทความที่ยอดเยี่ยมที่อธิบายประวัติของตัวแทนผู้ใช้

บ่อยครั้งที่นักพัฒนาขี้เกียจจะดมกลิ่นสตริง UA และปิดการใช้งานเนื้อหาในเว็บไซต์ของตนตามเบราว์เซอร์ที่พวกเขาเชื่อว่าผู้ชมใช้งานอยู่ Internet Explorer 8 เป็นปัญหาที่พบบ่อยสำหรับนักพัฒนาดังนั้นพวกเขาจะตรวจสอบบ่อยครั้งว่าผู้ใช้ใช้ IE เวอร์ชันใด ๆ และปิดการใช้งานคุณสมบัติต่างๆ

The Edge รายละเอียดทีมนี้ยิ่งลึกลงไปในบล็อกของพวกเขา

สตริงตัวแทนผู้ใช้ทั้งหมดมีข้อมูลเพิ่มเติมเกี่ยวกับเบราว์เซอร์อื่น ๆ นอกเหนือจากเบราว์เซอร์จริงที่คุณกำลังใช้ - ไม่เพียงโทเค็น แต่ยังหมายเลขรุ่น 'มีความหมาย'

สตริง UA ของ Internet Explorer 11:

Mozilla / 5.0 (Windows NT 6.3; Trident / 7.0; rv: 11.0) เช่น Gecko

สายอักขระ Microsoft Edge UA:

Mozilla / 5.0 (Windows NT 10.0) AppleWebKit / 537.36 (KHTML เช่น Gecko) Chrome / 42.0.2311.135 Safari / 537.36 Edge / 12.10136

คุณสมบัติ userAgent ได้รับการอธิบายอย่างเหมาะสมว่าเป็น“ คำโกหกจำนวนมากขึ้นเรื่อย ๆ ” โดย Patrick H. Lauke ในการอภิปรายของ W3C (“ หรือค่อนข้างเป็นการปรับสมดุลของการเพิ่มคำหลักดั้งเดิมที่เพียงพอซึ่งจะไม่มีรหัสการสูดดม UA เก่าตกทันทีในขณะที่ยังคงพยายามนำเสนอข้อมูลที่เป็นประโยชน์และแม่นยำเล็กน้อย”)

เราขอแนะนำให้นักพัฒนาเว็บหลีกเลี่ยงการสูดดม UA ให้มากที่สุด คุณสมบัติแพลตฟอร์มเว็บที่ทันสมัยเกือบทั้งหมดสามารถตรวจพบได้ในวิธีที่ง่าย ตัวอย่างเช่นไลบรารีModernizrเป็นวิธีตรวจสอบคุณสมบัติที่ยอดเยี่ยมและเรียบง่าย

ในช่วงปีที่ผ่านมาเราได้เห็นไซต์ UA-sniffing ที่ได้รับการปรับปรุงเพื่อตรวจจับ Microsoft Edge ... เพื่อให้เป็นเส้นทางรหัส IE11 ดั้งเดิมเท่านั้น นี่ไม่ใช่วิธีที่ดีที่สุดเนื่องจาก Microsoft Edge จับคู่พฤติกรรม 'WebKit' ไม่ใช่พฤติกรรม IE11 (ความแตกต่างของ Edge-WebKit ใด ๆ เป็นข้อบกพร่องที่เราสนใจในการแก้ไข)

จากประสบการณ์ของเรา Microsoft Edge ทำงานได้ดีที่สุดบนเส้นทางรหัส 'WebKit' ในเว็บไซต์เหล่านี้ นอกจากนี้เมื่ออินเทอร์เน็ตพร้อมใช้งานบนอุปกรณ์หลากหลายประเภทโปรดสมมติว่าเบราว์เซอร์ที่ไม่รู้จักนั้นดี - โปรดอย่า จำกัด เว็บไซต์ของคุณให้ทำงานเฉพาะกับเบราว์เซอร์ที่รู้จักในปัจจุบัน หากคุณทำเช่นนี้ไซต์ของคุณจะพังในอนาคต

ข้อสรุป

ด้วยการนำเสนอสตริง Chrome UA เราสามารถแก้ไขปัญหาที่นักพัฒนาเหล่านี้ใช้เพื่อนำเสนอประสบการณ์ที่ดีที่สุดให้กับผู้ใช้

นำมาจากชื่อสตริงตัวแทนผู้ใช้สำหรับ Microsoft Edge คืออะไร? ตอบโดยเดฟ Voyles


โอเค ... ฉันไม่ได้ค้นหาสิ่งนี้ใน stackoverflow ขอขอบคุณ!
PulseJet
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.