首頁 >web前端 >js教程 >如何使用 JavaScript 偵測瀏覽器的首選語言?

如何使用 JavaScript 偵測瀏覽器的首選語言?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-12 19:20:10173瀏覽

How Can I Detect a Browser's Preferred Language Using JavaScript?

用於檢測瀏覽器語言偏好的JavaScript

使用JavaScript 檢測瀏覽器的首選語言可能是一個挑戰,因為它無法通過導航器直接存取。語言。這是因為瀏覽器設定會影響 HTTP「Accept-Language」標頭,而該標頭無法透過 JavaScript 存取。

要克服此限制,解決方法是使用 Google App Engine 等第三方服務。其運作原理如下:

  1. 建立 Google App Engine 腳本:在 https://ajaxhttpheaders.appspot.com 託管腳本。此腳本將透過 JSONP 傳回 HTTP 請求標頭。
  2. 發出 AJAX 請求:使用 jQuery 或類似函式庫向 Google App Engine 腳本發出 AJAX 請求。
  3. 解析回應:回應將包含「Accept-Language」標頭。然後,您可以使用解析後的語言值。

這是 jQuery 中的範例程式碼:

$.ajax({
    url: "http://ajaxhttpheaders.appspot.com", 
    dataType: 'jsonp', 
    success: function(headers) {
        language = headers['Accept-Language'];
        nowDoSomethingWithIt(language);
    }
});

請注意,僅在沒有後端的情況下建議使用此技巧來執行此任務。

要取得更方便的解決方案,您可以使用 jQuery-Browser-Language 插件,網址為https://github.com/dansingerman/jQuery-Browser-Language。

這是在 AppEngine 上運行的程式碼:

class MainPage(webapp.RequestHandler):
    def get(self):
        headers = self.request.headers
        callback = self.request.get('callback')

        if callback:
          self.response.headers['Content-Type'] = 'application/javascript'
          self.response.out.write(callback + "(")
          self.response.out.write(headers)
          self.response.out.write(")")
        else:
          self.response.headers['Content-Type'] = 'text/plain'
          self.response.out.write("I need a callback=")

程式碼也開源自於 https:// github.com/dansingerman/app-engine-headers。

以上是如何使用 JavaScript 偵測瀏覽器的首選語言?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn