1. 概述
1.1 問題描述
FineReport 作爲一款多語種,跨平台的報表設計器,經常會有客戶需要使用多個語言環境來配置報表。
那麽,如何通過判定操作系統語言環境來自動跳轉到對應語種的頁面呢?這是多語種并存的企業單位需要解決的問題。
1.2 實現思路
通過 JS 代碼,判斷浏覽器類型。
2. 示例
1)新建模板,在 A1 單元格添加一個「按鈕控件」,可以通過給該按鈕添加「點擊」事件,點擊時顯示浏覽器類型。當然也可以将按鈕中的事件内容加在頁面「加載完成」事件中。
2)給按鈕添加「點擊」事件,如下圖所示:
JavaScript 代碼如下:
注:頁面中的跳轉網址可根據需要修改。
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://www.英文.com/"
// 跳轉到英文的url
}
// 判斷中文 - 不分繁體和簡體
else if (lang == "zh") {
window.location.href = "http://www.中文.com/"
// 跳轉到中文的url
}
// 除上面所列的語言
else {
window.location.href = "http://www.其他.com/"
// 跳轉到其他語言的url
}
3)保存模板,點擊「填報預覽」,點擊按鈕,頁面會自動識别系統默認語言環境,跳轉到上方輸入的網址。效果如下圖所示:
3. 模板下載
已完成模板可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\JS判斷操作系統語言.cpt
點擊下載模板:JS判斷操作系統語言(浏覽器).cpt