javascript - 有什么方法可以改变 DOM 中的属性值并再次加载页面

标签 javascript jquery html dom google-chrome-extension

我是 javascript 和网络技术的新手。我有一个要求,我必须更改

的 lang 属性
<html lang="en-US">

在网页中显示次数,然后重新加载页面。我设计了一个 chrome 扩展来更改当前选项卡页的 lang 属性,它运行良好,但它不会根据更改的区域设置获取正确的资源文件。它仅更改缓存中页面的语言。

我想知道,有什么方法可以基本上加载具有不同语言代码的页面,而无需实际手动更改源代码?

  1. 我们可以将 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/

相关文章:

javascript - 使用 Angular 简单上一个\下一个 slider

javascript - 部分文本在 Codemirror 中不可见

javascript - 数据表 : trouble formatting to stripe rows

javascript - jquery - 当悬停在另一个元素上时触发悬停在一个元素上

javascript - 如何在 HTML 中调用 JavaScript 函数而不是 href

javascript - 如何知道 Google Docs Viewer 中的总页数

javascript - 我如何让 typescript 停止提示它不知道的功能?

javascript - 代码可以在 Codepen 中运行,但不能在我的虚拟主机上运行

javascript - 在 ion-content 中,通过 javascript 更改视频标签的来源不起作用

javascript - 我的 Canvas 绘图应用程序无法在移动设备上运行