Rumah >hujung hadapan web >tutorial js >Bagaimanakah JavaScript Dapat Mengesan Keutamaan Bahasa Pelayar Pengguna dengan Tepat?

Bagaimanakah JavaScript Dapat Mengesan Keutamaan Bahasa Pelayar Pengguna dengan Tepat?

DDD
DDDasal
2024-12-15 00:49:16758semak imbas

How Can JavaScript Accurately Detect User Browser Language Preferences?

Pendekatan JavaScript untuk Mengesan Keutamaan Bahasa Penyemak Imbas

Mengesan pilihan bahasa penyemak imbas dengan JavaScript menimbulkan cabaran, terutamanya untuk tetapan yang dikonfigurasikan dalam Internet Explorer dan Firefox. Walaupun penyemak imbas seperti Chrome dan Safari mempunyai sifat seperti navigator.language dan navigator.userLanguage yang menyediakan akses kepada maklumat bahasa, sifat ini selalunya gagal untuk menggambarkan pilihan yang ditetapkan dalam menu penyemak imbas tertentu.

Batasan Tetapan Penyemak Imbas

Isu utama ialah tetapan penyemak imbas tidak secara langsung menjejaskan sifat navigator.language yang boleh diakses melalui JavaScript. Sebaliknya, ia memberi kesan kepada pengepala HTTP Accept-Language. Malangnya, pengepala ini tidak tersedia untuk JavaScript, menyebabkan pengaturcara menjadi bingung.

Penyelesaian Menggunakan Skrip Pihak Ketiga

Untuk memintas pengehadan ini, penyelesaian menggunakan skrip Google App Engine (http:/ /ajaxhttpheaders.appspot.com) telah direka. Skrip ini mendapatkan semula pengepala permintaan HTTP melalui JSONP dan mengembalikan nilai pengepala Accept-Language.

Contoh Penggunaan

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

Pemalam jQuery

Untuk kemudahan, pemalam jQuery yang membungkus fungsi ini tersedia di GitHub: https://github.com/dansingerman/jQuery-Browser-Language

Kod Enjin Apl

Kod berikut ialah logik teras yang dijalankan pada AppEngine:

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

Atas ialah kandungan terperinci Bagaimanakah JavaScript Dapat Mengesan Keutamaan Bahasa Pelayar Pengguna dengan Tepat?. 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