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
Lepaskan: 2024-12-12 19:20:10
asal
188 orang telah melayarinya

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);
    }
});
Salin selepas log masuk

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=")
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan