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:
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!