Home >Web Front-end >JS Tutorial >How Can I Detect a Browser's Preferred Language Using JavaScript?
JavaScript for detecting browser language preference
Detecting the browser's preferred language using JavaScript can be a challenge, as it's not directly accessible through navigator.language. This is because browser settings affect the HTTP 'Accept-Language' header, which is not accessible via JavaScript.
To overcome this limitation, a workaround is to use a third-party service like Google App Engine. Here's how it works:
Here's an example code in jQuery:
$.ajax({ url: "http://ajaxhttpheaders.appspot.com", dataType: 'jsonp', success: function(headers) { language = headers['Accept-Language']; nowDoSomethingWithIt(language); } });
Note that this hack is only recommended if you don't have a back end to perform this task.
For a more convenient solution, you can use the jQuery-Browser-Language plugin available at https://github.com/dansingerman/jQuery-Browser-Language.
Here's the code running on 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=")
The code is also open-sourced at https://github.com/dansingerman/app-engine-headers.
The above is the detailed content of How Can I Detect a Browser's Preferred Language Using JavaScript?. For more information, please follow other related articles on the PHP Chinese website!