Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengesan Keutamaan Bahasa Penyemak Imbas Pengguna Menggunakan JavaScript?

Bagaimanakah Saya Boleh Mengesan Keutamaan Bahasa Penyemak Imbas Pengguna Menggunakan JavaScript?

Linda Hamilton
Linda Hamiltonasal
2024-12-11 06:51:10696semak imbas

How Can I Reliably Detect a User's Browser Language Preference Using JavaScript?

Mengesan Keutamaan Bahasa Penyemak Imbas Menggunakan JavaScript

Mengesan bahasa pilihan pengguna dalam penyemak imbas web adalah penting untuk memperibadikan pengalaman pengguna. Walau bagaimanapun, penyemak imbas yang berbeza mempunyai mekanisme yang berbeza-beza untuk menetapkan pilihan bahasa.

Dalam Internet Explorer, bahasa pilihan boleh dikonfigurasikan dalam Alat > Pilihan Internet > Umum > Bahasa. Walau bagaimanapun, mengakses tetapan ini menggunakan JavaScript tetap menjadi cabaran.

Begitu juga, dalam Firefox, bahasa pilihan ditetapkan dalam Alat > Pilihan > Kandungan > Bahasa. Semasa navigator.language mendapatkan semula bahasa yang ditetapkan dalam Mula > Panel Kawalan > Pilihan Serantau dan Bahasa > Opsyen Serantau, ia gagal mengesan tetapan khusus penyemak imbas.

Selepas meneliti isu ini, didapati bahawa tetapan bahasa pilihan penyemak imbas tidak menjejaskan sifat navigator.language JavaScript. Sebaliknya, mereka mengubah pengepala HTTP 'Terima-Bahasa'. Walau bagaimanapun, JavaScript tidak mempunyai akses terus kepada pengepala ini.

Untuk menangani cabaran ini, penyelesaian telah dibangunkan. Skrip Google App Engine di http://ajaxhttpheaders.appspot.com mengembalikan pengepala permintaan HTTP menggunakan JSONP. Dengan menggunakan skrip ini, kod jQuery berikut boleh digunakan untuk mendapatkan semula bahasa pilihan:

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

Selain itu, pemalam jQuery telah dikeluarkan pada GitHub untuk memudahkan fungsi ini: https://github.com/ dansingerman/jQuery-Browser-Language

Untuk rujukan lanjut, kod Enjin Apl yang digunakan untuk ini penyelesaian tersedia di https://github.com/dansingerman/app-engine-headers.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Keutamaan Bahasa Penyemak Imbas Pengguna Menggunakan JavaScript?. 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