国际化死循环

我想实现决策系统根据系统语言,自动显示对应的决策报表功能;我在中文看板里面加了一个初始化事件,根据当前系统语言,自动跳转,目前出现了死循环,一直在跳转,有没有大佬帮忙解决一下,以下是JS:

var type = navigator.appName

if (type == "Netscape") {

var lang = navigator.language

} else {

var lang = navigator.userLanguage

}

//取得浏览器语言的前两个字母

var lang = lang.substr(0, 2)

// 判断英语

if (lang == "en") {

window.location.href = "http://localhost:8075/webroot/decision/view/form?viewlet=Form31.frm&op=form_adaptive"

// alert("当前系统语言是:"+lang);

//  跳转到英文的url

}

// 判断中文 - 不分繁体和简体

else if (lang == "zh") {

window.location.href = "http://localhost:8075/webroot/decision/view/form?viewlet=Form30.frm&op=form_adaptive"

// alert("当前系统语言是:"+lang);

//  跳转到中文的url

}

// 除上面所列的语言

else {

// window.location.href = "http://www.其他.com/"

alert("当前系统语言是:"+lang);

//  跳转到其他语言的url

}

FineReport 用户K9867160 发布于 2022-4-20 11:25
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
snrtuemcLv8专家互助
发布于2022-9-17 14:28

你这个需要另外一个中转页面,这个js写在中转页面的初始化事件,这样跳转到对应语言页面就不会有初始化事件了

不然,对应模板每个都写初始化事件,你跳转了又初始化继续执行了

最佳回答
0
yzm339714Lv6中级互助
发布于2022-4-20 11:33

建议跳转之前需要加个判断,当前报表的语言是否跟系统语言一样,是的话就不跳转了 。

或者可以的话,把获取到的语言值,传到数据集里面,然后去判断查询哪些字段  例如

select  (case when  '${lag}' = 'zh' then nameZH when  '${lag}' = 'eg' then nameEg else name end ) name from a

  • 3关注人数
  • 349浏览人数
  • 最后回答于:2022-9-17 14:28
    请选择关闭问题的原因
    确定 取消
    返回顶部