我是javascript和webtechnology的新手。我有一个要求,我必须更改
的lang属性<html lang="en-US">
在网页的时间编号,然后重新加载页面。我设计了一个chrome-extension来改变当前标签页的lang属性,它运行良好,但它没有根据改变的语言环境获取正确的Resource文件。它只更改缓存中的页面。
我想知道,有没有什么办法可以基本上用不同的lang代码加载页面,而无需手动更改源代码?
请帮助..
答案 0 :(得分:2)
不,你不能完全在客户端这样做。您必须做一些事情来告诉服务器使用哪种语言,然后服务器必须发回包含相应内容的HTML页面。
您可以做的一件事(或者更确切地说,浏览器可以做)告诉服务器要发送回的语言是在资源的HTTP请求中发送Accept-Language
标头,以识别所需的语言。但除非您正在执行ajax请求,否则您无法从客户端代码设置该标头,浏览器会设置它。
如果您想让用户决定语言,最简单的方法可能是为不同的语言或查询字符串参数设置不同的路径。您的服务器端代码将使用query-string参数,如果没有,则使用Accept-Language
标头。