'A page or script is accessing at least one of navigator.userAgent, navigator.appVersion, and navigator.platform
I'm having an issue in my JavaScript program, when I submit a form, a message has to be printed in console. but I get this issue:
A page or script is accessing at least one of navigator.userAgent, navigator.appVersion, and navigator.platform. In a future version of Chrome, the amount of information available in the User Agent string will be reduced.
It is also mentioned that:
To fix this issue, replace the usage of navigator.userAgent, navigator.appVersion, and navigator.platform with feature detection, progressive enhancement, or migrate to navigator.userAgentData.
But I don't know how to do that!
Solution 1:[1]
It's one of the libraries that is using navigator features that Chrome is deprecating.
https://blog.chromium.org/2021/05/update-on-user-agent-string-reduction.html
Here are some quotes from the blogpost:
"Beginning in M92, we plan to start sending deprecation notices for the navigator.userAgent, navigator.appVersion, and navigator.platform getters in the DevTools Issues tab."
"If your site, service, library or application relies on certain bits of information being present in the User Agent string such as Chrome minor version, OS version number, or Android device model, you will need to begin the migration to use the User Agent Client Hints API instead."
So you are not using the navigator getters in question but the library is, but it seems you can only wait for an update to the library's .js to make the warning go away.
Solution 2:[2]
The message tells you that you use some deprecated resources, namely
navigator.userAgentnavigator.appVersionnavigator.platform
Search for all of these in the entire codebase and detect all lines that refer to any of these.
Read some articles about the issue, like this one: https://web.dev/migrate-to-ua-ch/
The article is likely covering most (or all) the problems you need to solve. Basically there will be limitations in the user agent string. That means that lots of stuff that you use now will no longer be available after a certain update. So, you will need to adjust your Javascript in such a manner that it will have a fallback logic for the data that will no longer be available and will apply the changes necessary where the data will be available even after the change. Read a few articles, this is a known problem.
Solution 3:[3]
In Reactjs, this solved mine:
Instead of using console.debug() use console.log() .
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | yasuperu |
| Solution 2 | Lajos Arpad |
| Solution 3 | Behzad |
