在 Web 瀏覽器中偵測使用者的首選語言對於個人化使用者體驗至關重要。然而,不同的瀏覽器有不同的設定語言首選項的機制。
在 Internet Explorer 中,可以在「工具」>「語言」中設定首選語言。網路選項>一般>語言。然而,使用 JavaScript 存取此設定仍然是一個挑戰。
同樣,在 Firefox 中,首選語言在「工具」>「工具」中設定。選項>內容>>語言。 navigator.language 檢索開始 > 中設定的語言控制面板>區域和語言選項>區域選項,無法偵測到瀏覽器特定的設定。
研究此問題後發現,瀏覽器的首選語言設定不會影響 JavaScript 的 navigator.language 屬性。相反,它們會更改 HTTP“Accept-Language”標頭。然而,JavaScript 無法直接存取此標頭。
為了解決這個挑戰,我們開發了一種解決方法。 http://ajaxhttpheaders.appspot.com 上的 Google App Engine 腳本使用 JSONP 傳回 HTTP 請求標頭。透過利用此腳本,可以使用以下jQuery 程式碼來檢索首選語言:
$.ajax({ url: "http://ajaxhttpheaders.appspot.com", dataType: 'jsonp', success: function(headers) { language = headers['Accept-Language']; nowDoSomethingWithIt(language); } });
此外,已在GitHub 上發布了一個jQuery 插件來簡化此功能:https://github.com/ dansingerman/ jQuery-Browser-Language
如需進一步參考,可在以下位置找到用於此解決方法的App Engine 程式碼: https://github.com/dansingerman/app-engine-headers。
以上是如何使用 JavaScript 可靠地偵測使用者的瀏覽器語言偏好?的詳細內容。更多資訊請關注PHP中文網其他相關文章!