静态多语言javascript重定向保持重新加载页面
Static multilanguage javascript redirection keeps reloading a page
我希望你能帮我解决这个问题。我有3种语言在我的静态html网站。我想根据用户的浏览器语言设置重定向用户。
这是我的代码:
var lang = navigator.language;
if (lang == 'pl'){
document.location.href = 'index_pl.html';
}
else if (lang == 'fr'){
document.location.href = 'index_fr.html';
}
else {
document.location.href = 'index.html';
}
alert(lang);
问题是每次用户进入网站时,这个脚本都会刷新/重定向一个网站。我的问题是如何检查用户浏览器一次,然后重定向用户到一个专门的网页。
如果您不希望它继续重定向,则需要检查当前URL中的页面。例如:
var lang = navigator.language;
var redirectURL = 'index.html';
if (lang == 'pl'){
redirectURL = 'index_pl.html';
} else if (lang == 'fr'){
redirectURL = 'index.html';
}
if (document.location.pathname.indexOf(redirectURL) == -1) {
document.location.href = redirectURL;
}
检查redirectURL是否在路径中
我想我已经使用localStorage解决了这个问题。下列代码:
if (localStorage.getItem("visit") == null)
{
// Show Welcome message
var lang = navigator.language;
if (lang == 'pl'){
document.location.href = 'index_pl.html';
}
else if (lang == 'fr'){
document.location.href = 'index_fr.html';
}
else {
document.location.href = 'index.html';
}
}
localStorage.setItem("visit", new Date());
相关文章:
- 在新的浏览器选项卡上加载新的aspx页面后调用JavaScript函数
- 更改css链接并等待加载新的css
- 如何在Ajax加载新内容时停止JavaScript执行
- 当在ng视图中加载新路由时,Tabbing(tabindex)针对错误的元素
- 如何使用输入数据加载新的extjs图表
- JQuery Masonry.Ajax图标和“;加载新项目”;绳子放错地方了
- 通过javascript在同一个打开的选项卡中重新加载新的网页内容
- 当用户到达页面右侧时加载新内容
- 数据表 AJAX 筛选器重新加载数据
- 超链接单击以加载新页面并执行JavaScript
- 单击时加载新的 SVG
- 在RadWindow中加载新页面,然后从加载的窗体中关闭窗口
- ajax在页面刷新之前不会加载新的sql结果
- 谷歌地图API-在从ajax页面加载新数据之前清除标记、多段线
- 使用Ajax加载页面,并在必要时加载新脚本
- 加载新页面时的过渡效果,AJAX
- Ajax没有正确加载新页面
- 正在加载新的Javascript,但正在调用旧的Javascript.MVC
- 咕噜咕噜的手表:实时加载重新加载落后 1 步....
- 我怎么能有一个花哨的盒子一样的弹出体加载,但与cookie不连续加载重新加载