Rumah >hujung hadapan web >tutorial js >Bagaimanakah JavaScript Dapat Mengesan Keutamaan Bahasa Pelayar Pengguna dengan Tepat?
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.
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.
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.
// jQuery example $.ajax({ url: "http://ajaxhttpheaders.appspot.com", dataType: 'jsonp', success: function(headers) { language = headers['Accept-Language']; nowDoSomethingWithIt(language); } });
Untuk kemudahan, pemalam jQuery yang membungkus fungsi ini tersedia di GitHub: https://github.com/dansingerman/jQuery-Browser-Language
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!