【发布时间】:2020-10-30 02:53:13
【问题描述】:
我正在开发一个双语网站(西班牙语/英语),我听取了第二个答案 in this post 的建议。
这是我用来选择语言的导航栏中的代码:
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" id="dropdown06" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span lang="es">Idioma</span>
<span lang="en">Language</span>
</a>
<div class="dropdown-menu" aria-labelledby="dropdown06">
<a class="dropdown-item coll-navbar language">
<span lang="es">English</span>
<span lang="en">Español</span>
</a>
</div>
</li>
这是js代码:
$('[lang="en"]').hide();
$('.language').click(function() {
$('[lang="es"]').toggle();
$('[lang="en"]').toggle();
});
这是实现的代码示例:
<div class="title col-12 col-md-8">
<h2 class="align-center" lang="es"><strong>
Costura</strong></h2>
<h2 class="align-center" lang="en"><strong>
Sewing</strong></h2>
</div>
而且,它很好用,唯一的问题是当我选择第二种语言并更改 html 页面时,它会返回到第一种语言(在这种情况下是西班牙语);选择后,如何在所有 html 中保留第二语言?
提前致谢,
【问题讨论】:
-
为什么不在 URL 中使用查询参数? example.com/page?lang=es您可以通过 JavaScript 访问参数,如下所示:davidwalsh.name/query-string-javascript
-
我还应该补充一点,您正在使用 Node.js 对其进行标记,但您的代码是 jQuery。您是使用 Node 还是只是制作常规的 HTML 网站,然后上传到 Web 服务器?
-
感谢 Tony Drummond,我将标签更改为 jQuery - 而且,我正在制作一个常规的 html 网站,然后将其上传到 Web 服务器
-
如果您只是上传纯 HTML 页面,这必须是一个小型网站。请记住,您还必须更改每个链接。我想你可以编写一个简单的 jQuery 函数,将点击事件添加到所有链接 $("a").click(function(e)....) 然后执行 e.preventDefault(),获取 URL 并通过 JavaScript 修改,然后执行 window.location.replace(url)... 导航到页面。