나는 감지하려는 경우에는 사용자가 사용하여 Windows11 서비스를 제공하기 위해서는 올바른 이진을 클릭하면 다운로드 버튼을 누릅니다. 내가 찾는 Microsoft 의 제안에 대한 어떻게 이렇게하려면 여기에. 그들은 사용하는 것이 좋습니다 navigator.userAgentData.getHighEntropyValues
기능을 반환하는 약속을 포함하는 플랫폼 버전입니다. 는 코드는 다음과 같습니다 그들은 제안:
navigator.userAgentData.getHighEntropyValues(["platformVersion"])
.then(ua => {
if (navigator.userAgentData.platform === "Windows") {
const majorPlatformVersion = parseInt(ua.platformVersion.split('.')[0]);
if (majorPlatformVersion >= 13) {
console.log("Windows 11 or later");
}
else if (majorPlatformVersion > 0) {
console.log("Windows 10");
}
else {
console.log("Before Windows 10");
}
}
else {
console.log("Not running on Windows");
}
});
내 문제는 이 기능이 비동기적 약속을 반환합 반환하는 대신 값으로 설정합니다. 나는 원하지 않을 변환하는 모든 코드를 사용을 분석하는 사용자 에이전트에 대한 모든 플랫폼에서는 비동기 기능이다.
처음에 생각했어 사용하는 것이 기다리고 대신 사용하여 약속을 다음과 같다:
let ua = await navigator.userAgentData.getHighEntropyValues(["platformVersion"])
그러나,이 의미하는데 필요 기능을 포함하는 그것 async. 그리고 이후 이 같은 코드를 작동할 필요가 이전 버전의 브라우저에서 지원하지 않는 비동기 그리고 사람,나는 할 수 없습니다.
는 방법이 있을 감지하는 경우에는 사용자가 사용하여 Windows11 지 않고 이 API 는? 또는 API 를 사용하지만에서는 방식으로 필요하지 않 async?