我是 javascript 和网络技术的新手。我有一个要求,我必须更改
的 lang 属性<html lang="en-US">
在网页中显示次数,然后重新加载页面。我设计了一个 chrome 扩展来更改当前选项卡页的 lang 属性,它运行良好,但它不会根据更改的区域设置获取正确的资源文件。它仅更改缓存中页面的语言。
我想知道,有什么方法可以基本上加载具有不同语言代码的页面,而无需实际手动更改源代码?
- 我们可以将 document.documentElement.lang="ab-CD"这样的 JavaScript 作为 webRequest 传递,然后加载页面
请帮忙..
最佳答案
不,您不能完全在客户端执行此操作。您必须做一些事情来告诉服务器要使用什么语言,然后服务器必须发回包含适当内容的 HTML 页面。
您可以做的一件事(或者更确切地说,浏览器可以做)告诉服务器要发回哪种语言,那就是在资源的 HTTP 请求中发送 Accept-Language
header ,识别所需的语言。但除非您正在执行 ajax 请求,否则您无法从客户端代码设置该 header ,而是由浏览器设置。
如果你想让用户决定语言,最简单的事情可能是为不同的语言设置不同的路径,或者查询字符串参数。您的服务器端代码将使用查询字符串参数,或者如果没有,则使用 Accept-Language
header 。
关于javascript - 有什么方法可以改变 DOM 中的属性值并再次加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25093338/