我认为这里的主要问题是浏览器设置实际上不会影响
navigator.language通过javascript获取的属性。
它们确实会影响HTTP’Accept-
Language’标头,但看来此值根本无法通过javascript使用。(可能是为什么@anddoutoi指出他找不到不涉及服务器端的引用)。
(注意:这是一种hack,仅当您没有可用的后端可以使用时才能使用。通常,除非您的浏览器具有很高的访问权限,否则您不应在页面中调用第三方托管的javascript文件对主机的信任级别。)
我打算将其永久保留在那里,请随时在您的代码中使用它。
这是一些使用jQuery的示例代码
$.ajax({ url: "http://ajaxhttpheaders.appspot.com", dataType: 'jsonp', success: function(headers) { language = headers['Accept-Language']; nowDoSomethingWithIt(language); }});
希望有人觉得这有用。
编辑2:按要求,这里是在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=")application = webapp.WSGIApplication( [('/', MainPage)], debug=False)def main(): run_wsgi_app(application)if __name__ == "__main__": main()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)