动态加载CSS脚本

问题:有一些日语文字だめ正确显示

image.png
原因:是字体问题,现在用的字体不能支持某些字符的显示
解决:添加日文输入法
问题:日文输入法会影响其他的语言下的样式
解决:根据系统当前语言切换不同的字体样式
实现1:js中拿到当前语言,动态require文件
问题:本地测试ok,但是线上环境无论何时都会加载文件,导致一直是日语的样式
原因:暂时没搞明白
实现2:js中拿到当前语言,判断为日语时加载css脚本
const JA = `
  body {
    font-family: "Monospaced Number", "Microsoft YaHei", Meiryo, Osaka, "MS Pゴシック", "MS PGothic", sans-serif, "メイリオ", "Chinese Quote", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Helvetica Neue", Helvetica, Arial !important;
  }
  .ant-tabs, .ant-table, .ant-form-item, .ant-collapse, .ant-input, .ant-pagination, .ant-select, .ant-modal, .ant-form-item {
    font-family: "Monospaced Number", "Microsoft YaHei", Meiryo, Osaka, "MS Pゴシック", "MS PGothic", sans-serif, "メイリオ", "Chinese Quote", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Helvetica Neue", Helvetica, Arial !important;
  }
  input, button, select, optgroup, textarea {
    font-family: "Monospaced Number", "Microsoft YaHei", Meiryo, Osaka, "MS Pゴシック", "MS PGothic", sans-serif, "メイリオ", "Chinese Quote", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Helvetica Neue", Helvetica, Arial !important;
  }
`;
export { JA };
import { JA } from './assets/styles/StyleStr';

const getCurrentFont = () => {
  const curLanguage = getCurrentLanguage();
  if ( curLanguage === 'jp_JP' ) {
    loadStyleString(JA);
  }
};

 /**
     * 动态加载css脚本
     * @param {string} cssText css样式
     */
  function loadStyleString(cssText) {
    const style = document.createElement("style");
    style.type = "text/css";
    // firefox、safari、chrome和Opera
    style.appendChild(document.createTextNode(cssText));
    document.getElementsByTagName("head")[0].appendChild(style);
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,917评论 2 59
  • 用到的组件 1、通过CocoaPods安装 2、第三方类库安装 3、第三方服务 友盟社会化分享组件 友盟用户反馈 ...
    SunnyLeong阅读 14,695评论 1 180
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 6,104评论 0 4
  • 公元:2019年11月28日19时42分农历:二零一九年 十一月 初三日 戌时干支:己亥乙亥己巳甲戌当月节气:立冬...
    石放阅读 6,913评论 0 2