Check OS (Mac with browsers except Safari, Windows, Linux), OS version
Check Browser full version.
import getAgent from "@egjs/agent";
const agent = getAgent();
// If the full version is 10.5, it is displayed as 10.
agent.browser.version
// "unknown"
agent.os.name
// -1
agent.os.majorVersion
Possible (If asynchronous)
You can get accurate agent information.
Check OS(Mac, Windows, Linux), OS version
Check Browser full version.
import { getAccurateAgent } from "@egjs/agent";
// Use Promise
getAccurateAgent().then(agent => {
// Check OS, OS version
agent.os.name
agent.os.version
// Check Browser full verion
agent.browser.version
});
// Use Callback
getAccurateAgent(agent => {});
### If you dare to use synchrous, you have to choose.
* You cannot get the OS name and version other than iOS, Android.
* You can only get the major version of the browser. However, unless there is a serious bug, you will mainly check the major version.
* Instead, infer to browser, Webkit, or Chromium.
Prepare for Client Hints!
Chrome is currently planning to freeze user agents to improve user privacy.
Not only Chrome, but other browsers will come someday.
In Chrome (Chrome 87, Mac, Freeze User-Agent)
In the future
navigator.userAgentData
instead ofnavigator.userAgent
.Possible (You can know exactly)
Not Possible (If synchronous)
Possible (If asynchronous)
// Use Promise getAccurateAgent().then(agent => { // Check OS, OS version agent.os.name agent.os.version
});
// Use Callback getAccurateAgent(agent => {});