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
Lepaskan: 2024-12-15 00:49:16
asal
757 orang telah melayarinya

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

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

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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan