辦法:多語言版本Web系統中對應多種字體(Font Family)。


呆成都這半年下來,發現這邊用戶的需求真的是取之不竭。

為了不耽誤日程,俺們必然要竭盡所能。

這次用戶提出:切換至外文時 使用 MS Gothic 字體。

 

解析一下:

中文界面 ---> 默認字體

外文界面 ---> MS Gothic

 

一些背景:

雙語是用DOTNET的資源文件解決的。

90%的頁面有使用母版頁。

項目組每個人都很疲憊,這次我只求快速簡便夠用。

區分CultureInfo中的語種[Culture_LanguageKey]保存在Session中

 

辦法思路:

1、清除所有CSS文件中的 字體 屬性。

2、寫倆全局CSS文件,一個為默認的中文式樣,一個是外文的式樣。

3、在母版頁用JS根據語種選擇加載CSS文件。

 

石馬:

 

中文CSS文件:fontFamilyStyle_CN.css

 

*{     font-family: 新宋體;}///想要的默認字體

 

外文CSS文件:fontFamilyStyle_FN.css

*{     font-family: MS Gothic ;}


MasterPage.Page

    <script type="text/javascript">     
         // /根據語言初始化Font Family 強兼容性
         function initFontFamily() {
             var language = '<%=Session["Culture_LanguageKey"]%>'; ///腳本獲取Session變量
             var cssFileName;

            ///根據語言設置css文件路徑

            ///FN:外文 --  CN:中文

            if (language == "FN") {
                cssFileName = "../CSS/fontFamilyStyle_FN.css";
            } else {
                cssFileName = "../CSS/fontFamilyStyle_CN.css";
            }       
            if (document.createStyleSheet) {//IE瀏覽器插入樣式文件
                document.createStyleSheet(cssFileName, 1);
            }
            else { //其他瀏覽器插入樣式文件

                var css_link = document.createElement("link");
                css_link.setAttribute("type", "text/css");
                css_link.setAttribute("rel", "stylesheet");
                css_link.setAttribute("href", cssFileName);
                document.getElementsByTagName("head")[0].appendChild(css_link);
            }
        }

 

        ///隨意調用下就OK,無需指定到body的onload

        initFontFamily();
    </script>

 

 結束。

 簡單測試了下,沒有問題。

 沒有更多要說的了。

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM