Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengesan Bahasa Pilihan Pelayar Menggunakan JavaScript?

Bagaimanakah Saya Boleh Mengesan Bahasa Pilihan Pelayar Menggunakan JavaScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-12 19:20:10185semak imbas

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

JavaScript untuk mengesan keutamaan bahasa penyemak imbas

Mengesan bahasa pilihan penyemak imbas menggunakan JavaScript boleh menjadi satu cabaran, kerana ia tidak boleh diakses secara langsung melalui navigator. bahasa. Ini kerana tetapan penyemak imbas menjejaskan pengepala 'Terima-Bahasa' HTTP, yang tidak boleh diakses melalui JavaScript.

Untuk mengatasi pengehadan ini, penyelesaiannya ialah menggunakan perkhidmatan pihak ketiga seperti Google App Engine. Begini caranya:

  1. Buat skrip Google App Engine: Hos skrip di https://ajaxhttpheaders.appspot.com. Skrip ini akan mengembalikan pengepala permintaan HTTP melalui JSONP.
  2. Buat permintaan AJAX: Gunakan jQuery atau perpustakaan yang serupa untuk membuat permintaan AJAX kepada skrip Google App Engine.
  3. Menghuraikan respons: Respons akan mengandungi pengepala 'Terima-Bahasa'. Anda kemudiannya boleh menggunakan nilai bahasa yang dihuraikan.

Berikut ialah contoh kod dalam jQuery:

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

Perhatikan bahawa penggodaman ini hanya disyorkan jika anda tidak mempunyai bahagian belakang untuk melaksanakan tugas ini.

Untuk penyelesaian yang lebih mudah, anda boleh menggunakan pemalam jQuery-Browser-Language yang tersedia di https://github.com/dansingerman/jQuery-Browser-Language.

Berikut ialah kod yang dijalankan pada 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=")

Kod ini juga bersumberkan terbuka di https:// github.com/dansingerman/app-engine-headers.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Bahasa Pilihan Pelayar Menggunakan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn