Browser CodeName: " + navigator.appCodeName + "
" + "Browser Name: " + navigator.appName + "
" + "Browser Version: " + navigator.appVersion + "
" + "Cookies Enabled: " + navigator.cookieEnabled + "
" + "Browser Language: " + navigator.language + "
" + "Browser Online: " + navigator.onLine + "
" + "Platform: " + navigator.platform + "
" + "User-agent header: " + navigator.userAgent + "
"; // Insert the information into the document body document.body.innerHTML = info; ``` --- ## Developer Considerations ### 1. Language Tags Format The returned string is typically a BCP 47 language tag. It consists of a two-letter language code (e.g., `"en"` for English, `"zh"` for Chinese), often followed by a two-letter region subtag (e.g., `"en-US"`, `"zh-CN"`). ### 2. `navigator.language` vs `navigator.languages` * **`navigator.language`**: Returns a single string representing the user's most preferred language. * **`navigator.languages`**: Returns an array of strings representing the user's preferred languages, ordered by preference. If you want to support fallback languages for internationalization (i18n), it is highly recommended to inspect `navigator.languages` instead. ```javascript // Example of checking multiple preferred languages console.log(navigator.languages); // Output: ["en-US", "en", "zh-CN", "zh"] ``` ### 3. Internationalization (i18n) Best Practice You can use `navigator.language` to automatically set the default language of your web application: ```javascript const userLang = navigator.language || navigator.userLanguage; // Fallback for older IE if (userLang.startsWith('zh')) { // Load Chinese resources initChineseUI(); } else { // Default to English resources initEnglishUI(); } ```
YouTip