Chuỗi tác nhân người dùng Microsoft Edge


11

Tôi chỉ nhận thấy rằng trong khi tất cả các trình duyệt khác dường như có chuỗi tác nhân người dùng của riêng họ, thì Microsoft Edge dường như trông giống như thế này:

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

Tại sao nó có Mozilla, Chrome và Safari mà không chỉ có Edge trong đó?

Câu trả lời:


4

Vậy tại sao nó có Mozilla, Chrome và Safari mà không chỉ có Edge trong đó?

Các nhà thiết kế trang web chỉ đơn giản là lười biếng và họ cố gắng chặn khách truy cập sử dụng các trình duyệt cụ thể, vì họ muốn sử dụng khung dễ dàng hơn chỉ được hỗ trợ bởi một số trình duyệt nhất định.

Nó cũng là một quyết định thiết kế có chủ ý để hạn chế tính hữu ích của kiểm tra tác nhân người dùng. Quyết định này có thể dựa trên thực tế (từ quan điểm của Spartan / Edge Developers), là trong quá khứ, các trang web sẽ tìm kiếm cụ thể cho IE và thông báo cho người dùng sử dụng một trình duyệt khác.

Do Edge / Spartan là nỗ lực đầu tiên của Microsoft nhằm hiện đại hóa công cụ Trident và mục đích của Edge / Spartan là phù hợp với bộ tính năng của (Blink, AppleWebKit và Gecko) vào thời điểm đó, đại lý người dùng chỉ đơn giản quảng cáo rằng mọi thứ là một cách để ngăn các nhà thiết kế trang web dễ dàng nhắm mục tiêu Edge giống như cách họ nhắm mục tiêu IE.

Nhiều trang web mà bạn truy cập ngày hôm nay sẽ không hiển thị tốt trong IE vì chúng không được mã hóa chính xác và thường hiển thị một trang như trong trình duyệt cũ, mặc dù Internet Explorer 11 hỗ trợ nhiều tiêu chuẩn web mới. Một số trang sẽ hiển thị không chính xác trong IE trong khi hoạt động hoàn toàn tốt trên các trình duyệt khác như Chrome hoặc Firefox.

Ngoài ra còn có một vấn đề với cuộn giật mà không biến mất đối với một số trang web ngay cả sau khi bạn tắt cuộn trơn tru, và có những trường hợp các yếu tố quan trọng sẽ không hiển thị vì một trang web xác định trình duyệt của bạn là IE.

Động cơ Spartan mới của Microsoft tự coi mình là Chrome

Chrome và Firefox cũng làm một cái gì đó tương tự:

Mozilla / 5.0 (Windows NT XY; WOW64) AppleWebKit / 537.36 (KHTML, như tắc kè) Chrome / 50.0.2657.0 Safari / 537.36, gzip (gfe), gzip (gfe) "

Cần chỉ ra rằng tác nhân người dùng của IE11 là tương tự:

Mozilla / 5.0 (Windows NT 10.0; WOW64; Trident / 7.0; rv: 11.0) như Gecko

Thay đổi chuỗi tác nhân người dùng


2

Edge giả vờ là Chrome và Chrome giả vờ là Safari và Safari giả vờ là Mozilla. Và Edge đã sử dụng EdgeHTML nhưng không tiết lộ và Chrome đã sử dụng Blink nhưng không tiết lộ nhưng Chrome đã giả vờ sử dụng WebKit. Và Webkit giả vờ là KHTML và KHTML giả vờ là tắc kè. Và sự nhầm lẫn tràn ngập quá mức trên khuôn mặt của web.

Lấy từ tên chuỗi Tác nhân người dùng cho Microsoft Edge là gì? bình luận của Claude

Chuỗi UA của Microsoft Edge:

Mozilla / 5.0 (Windows NT 10.0) AppleWebKit / 537.36 (KHTML, như Tắc kè) Chrome / 42.0.2311.135 Safari / 537.36 Edge / 12.10136

Tôi chi tiết tại sao trong bài viết blog này.

Neowin gần đây đã báo cáo rằng trình duyệt mới của Microsoft cho Windows 10, Spartan, sử dụng chuỗi Chrome UA, Mozilla Mozilla / 5.0 (Windows NT 10.0; WOW64) AppleWebKit / 537.36 (KHTML, như Gecko) Chrome / 39.0.2171.71 Safari / 537.36 Edge / 12.0 ″. Điều đó được thực hiện trên mục đích.

Bạn cũng sẽ nhận thấy rằng toàn bộ chuỗi kết thúc với Edge Edge / 12.0 ″, điều mà Chrome không có.

Tôi nên chỉ ra rằng, đây không phải là một sự khởi đầu chính xác so với những gì Microsoft đã làm với IE 11, mà trên Windows 8 có ghi: Mozilla / 5.0 (Windows NT 6.3; Trident / 7.0; rv: 11.0) như Gecko, như đã giải thích trong phần này bài đăng.

Tác nhân người dùng đánh hơi là gì?

Thông thường, các nhà phát triển web sẽ đánh hơi UA để phát hiện trình duyệt. Mozilla giải thích điều đó tốt trên blog của họ:

Phục vụ các trang web hoặc dịch vụ khác nhau cho các trình duyệt khác nhau thường là một ý tưởng tồi. Web có thể truy cập được cho mọi người, bất kể họ đang sử dụng trình duyệt hoặc thiết bị nào. Có nhiều cách để phát triển trang web của bạn để tăng cường dần dần dựa trên tính khả dụng của các tính năng thay vì nhắm mục tiêu các trình duyệt cụ thể.

Đây là một bài viết tuyệt vời giải thích lịch sử của Tác nhân người dùng.

Thông thường, các nhà phát triển lười biếng sẽ chỉ đánh hơi chuỗi UA và vô hiệu hóa nội dung trên trang web của họ dựa trên trình duyệt mà họ tin rằng người xem đang sử dụng. Internet Explorer 8 là một điểm gây thất vọng chung cho các nhà phát triển, vì vậy họ sẽ thường xuyên kiểm tra xem người dùng có đang sử dụng phiên bản IE nào không và vô hiệu hóa các tính năng.

Nhóm Edge chi tiết điều này thậm chí còn sâu hơn trên blog của họ.

Tất cả các chuỗi tác nhân người dùng chứa nhiều thông tin về các trình duyệt khác ngoài trình duyệt thực tế bạn đang sử dụng - không chỉ mã thông báo, mà cả số phiên bản 'có ý nghĩa'.

Chuỗi UA của Internet Explorer 11:

Mozilla / 5.0 (Windows NT 6.3; Trident / 7.0; rv: 11.0) như Gecko

Chuỗi UA của Microsoft Edge:

Mozilla / 5.0 (Windows NT 10.0) AppleWebKit / 537.36 (KHTML, như Tắc kè) Chrome / 42.0.2311.135 Safari / 537.36 Edge / 12.10136

Thuộc tính userAgent đã được mô tả một cách thông minh là một gói nói dối ngày càng phát triển của Patrick H. Lauke trong các cuộc thảo luận của W3C. (Thay vào đó, một hành động cân bằng của việc thêm đủ các từ khóa kế thừa sẽ không ngay lập tức có mã đánh hơi UA cũ, trong khi vẫn cố gắng truyền tải một chút thông tin thực sự hữu ích và chính xác.

Chúng tôi khuyên các nhà phát triển web nên tránh đánh hơi UA càng nhiều càng tốt; Các tính năng nền tảng web hiện đại gần như có thể phát hiện được theo những cách dễ dàng. Ví dụ, thư viện Modernizr là một cách tuyệt vời và đơn giản để phát hiện các tính năng.

Trong năm qua, chúng tôi đã thấy một số trang web đánh hơi UA đã được cập nhật để phát hiện Microsoft Edge nghiến chỉ để cung cấp cho nó một đường dẫn mã IE11 kế thừa. Đây không phải là cách tiếp cận tốt nhất, vì Microsoft Edge phù hợp với các hành vi của 'WebKit', không phải các hành vi IE11 (bất kỳ sự khác biệt nào của Edge-WebKit đều là các lỗi mà chúng tôi muốn khắc phục).

Theo kinh nghiệm của chúng tôi, Microsoft Edge chạy tốt nhất trên các đường dẫn mã 'WebKit' trong các trang web này. Ngoài ra, với việc internet có sẵn trên nhiều loại thiết bị hơn, vui lòng giả sử các trình duyệt không xác định là tốt - vui lòng không giới hạn trang web của bạn chỉ hoạt động trên một nhóm nhỏ các trình duyệt đã biết hiện tại. Nếu bạn làm điều này, trang web của bạn gần như chắc chắn sẽ bị hỏng trong tương lai.

Phần kết luận

Bằng cách trình bày chuỗi Chrome UA, chúng tôi có thể xử lý các bản hack mà các nhà phát triển đang sử dụng để trình bày trải nghiệm tốt nhất cho người dùng.

Lấy từ tên chuỗi Tác nhân người dùng cho Microsoft Edge là gì? câu trả lời của Dave Voyles .


Argh ... Không xảy ra với tôi để tìm kiếm cái này trên stackoverflow. Dù sao cũng cảm ơn bạn!
PulseJet
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.