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.