NavigatorUAData: phương thức getHighEntropyValues()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Note: This feature is available in Web Workers.
Phương thức getHighEntropyValues() của giao diện NavigatorUAData trả về một Promise giải quyết với đối tượng từ điển chứa thông tin low entropy và thông tin high entropy được yêu cầu về trình duyệt.
Đối tượng được giải quyết có các thuộc tính "low entropy" có sẵn trên đối tượng NavigatorUAData được bao gồm theo mặc định, đây là các giá trị khó có khả năng cho phép lấy dấu vân tay người dùng.
Nó cũng chứa tập hợp con các giá trị "high entropy" được yêu cầu trong đối tượng tham số và đã được cấp quyền.
Đây là các giá trị có nhiều khả năng cho phép lấy dấu vân tay hơn.
Lưu ý rằng ý nghĩa của các thuật ngữ low entropy và high entropy giống như được định nghĩa trong cơ chế HTTP User Agent Client Hints.
Note:
Việc sử dụng phương thức getHighEntropyValues() để lấy dữ liệu user-agent high-entropy có thể được kiểm soát qua ch-ua-high-entropy-values Permissions-Policy.
Nếu quyền không được cho phép, phương thức chỉ trả về dữ liệu low-entropy brands, mobile và platform.
Cú pháp
getHighEntropyValues(hints)
Tham số
hints-
Một mảng chứa các gợi ý high-entropy cần trả về. Có thể bao gồm một hoặc nhiều trong số:
"architecture""bitness""formFactors""fullVersionList""model""platformVersion""uaFullVersion"Deprecated"wow64"
Giá trị trả về
Một Promise giải quyết với đối tượng chứa một số hoặc tất cả các giá trị sau (dựa trên các gợi ý được yêu cầu và được cấp):
brands-
Trả về mảng các đối tượng chứa
brandvàversionchỉ định tên thương hiệu và phiên bản của trình duyệt (thông tin tương tự như được cung cấp bởiNavigatorUAData.brands). Lưu ý rằng thông tin này có thể được gửi đến máy chủ trong headerSec-CH-UA(một low-entropy client hint). mobile-
Trả về
truenếu user agent đang chạy trên thiết bị di động (thông tin tương tự như được cung cấp bởiNavigatorUAData.mobile). Lưu ý rằng thông tin này có thể được gửi đến máy chủ trong headerSec-CH-UA-Mobile(một low-entropy client hint). platform-
Trả về chuỗi mô tả nền tảng mà user agent đang chạy trên, như
"Windows"(thông tin tương tự như được cung cấp bởiNavigatorUAData.platform). Lưu ý rằng thông tin này có thể được gửi đến máy chủ trong headerSec-CH-UA-Platform(một low-entropy client hint). architecture-
Một chuỗi chứa kiến trúc nền tảng. Ví dụ,
"x86". Lưu ý rằng thông tin này có thể được gửi đến máy chủ trong headerSec-CH-UA-Archsau khi máy chủ yêu cầu rõ ràng trong headerAccept-CH. bitness-
Một chuỗi chứa số bit kiến trúc. Ví dụ,
"32"hoặc"64". Lưu ý rằng thông tin này có thể được gửi đến máy chủ trong headerSec-CH-UA-Bitnessnếu máy chủ yêu cầu rõ ràng trong headerAccept-CH. formFactors-
Một mảng chuỗi chứa các form factor của thiết bị. Ví dụ,
["Tablet", "XR"]. Lưu ý rằng thông tin này có thể được gửi đến máy chủ trong headerSec-CH-UA-Form-Factorsnếu máy chủ yêu cầu rõ ràng trong headerAccept-CH. fullVersionList-
Một mảng các đối tượng với thuộc tính
"brand"và"version"đại diện cho tên trình duyệt và phiên bản đầy đủ. Ví dụ,{"brand": "Google Chrome", "version": "103.0.5060.134"}, {"brand": "Chromium", "version": "103.0.5060.134"}. Lưu ý rằng một đối tượng có thể cố ý chứa thông tin không hợp lệ để ngăn các trang web dựa vào danh sách trình duyệt cố định. Lưu ý rằng thông tin này có thể được gửi đến máy chủ trong headerSec-CH-UA-Full-Version-Listnếu máy chủ yêu cầu rõ ràng trong headerAccept-CH. model-
Một chuỗi chứa model của thiết bị di động. Ví dụ,
"Pixel 2XL". Nếu thiết bị không phải thiết bị di động hoặc model thiết bị không được biết,modelsẽ là"". Lưu ý rằng thông tin này có thể được gửi đến máy chủ trong headerSec-CH-UA-Modelnếu máy chủ yêu cầu rõ ràng trong headerAccept-CH. platformVersion-
Một chuỗi chứa phiên bản nền tảng. Tên nền tảng luôn có sẵn dưới dạng gợi ý low-entropy
platform. Ví dụ,"10.0". Lưu ý rằng thông tin này có thể được gửi đến máy chủ trong headerSec-CH-UA-Platform-Versionnếu máy chủ yêu cầu rõ ràng trong headerAccept-CH. uaFullVersionDeprecated-
Một chuỗi chứa phiên bản trình duyệt đầy đủ. Ví dụ,
"103.0.5060.134". Đã lỗi thời, thay bằngfullVersionList. Lưu ý rằng thông tin này có thể được gửi đến máy chủ trong headerSec-CH-UA-Full-Versionnếu máy chủ yêu cầu rõ ràng trong headerAccept-CH. wow64-
Giá trị boolean cho biết liệu binary của user agent có đang chạy ở chế độ 32-bit trên Windows 64-bit không. Lưu ý rằng thông tin này có thể được gửi đến máy chủ trong header
Sec-CH-UA-WoW64nếu máy chủ yêu cầu rõ ràng trong headerAccept-CH.
Ngoại lệ
NotAllowedErrorDOMException-
Được ném ra nếu user-agent quyết định rằng một hoặc nhiều
hintsđược yêu cầu không nên được trả về.
Ví dụ
Trong ví dụ dưới đây, một số gợi ý được yêu cầu bằng phương thức getHighEntropyValues().
Khi promise giải quyết, thông tin này được in ra console.
navigator.userAgentData
.getHighEntropyValues([
"architecture",
"model",
"platformVersion",
"fullVersionList",
])
.then((values) => console.log(values));
Thông số kỹ thuật
| Specification |
|---|
| User-Agent Client Hints> # dom-navigatoruadata-gethighentropyvalues> |
Tương thích trình duyệt
Xem thêm
- Các giá trị này cũng có sẵn qua HTTP request headers:
- Low-entropy client hints được gửi tự động:
- Máy chủ có thể yêu cầu nhận high-entropy client hints trong các yêu cầu tiếp theo, bằng cách dùng header
Accept-CH: