用于检测浏览器语言偏好的 JavaScript
使用 JavaScript 检测浏览器的首选语言可能是一个挑战,因为它无法通过导航器直接访问。语言。这是因为浏览器设置会影响 HTTP“Accept-Language”标头,而该标头无法通过 JavaScript 访问。
要克服此限制,解决方法是使用 Google App Engine 等第三方服务。其工作原理如下:
这是 jQuery 中的示例代码:
$.ajax({ url: "http://ajaxhttpheaders.appspot.com", dataType: 'jsonp', success: function(headers) { language = headers['Accept-Language']; nowDoSomethingWithIt(language); } });
请注意,仅在没有后端的情况下才建议使用此技巧来执行此任务。
要获得更方便的解决方案,您可以使用 jQuery-Browser-Language 插件,网址为https://github.com/dansingerman/jQuery-Browser-Language。
这是在 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=")
该代码也开源于 https:// github.com/dansingerman/app-engine-headers。
以上是如何使用 JavaScript 检测浏览器的首选语言?的详细内容。更多信息请关注PHP中文网其他相关文章!