关于mathjax加载缓慢的解决方法

php小白,工作中的一个小需求就是解决公式加载的问题,期间遇到3个小问题,相信大家使用的时候也都遇到过,留个备份,也供大家参考

背景 :

php7

yii2框架

自带标签,公式的文本内容

在view中修改模板文件main.php,我的办法是复制一份修改为自己需要的模板文件

1.mathjax加载出来的公式是块级元素,就是独占一行


解决方法:强制修改公式的样式为行内元素,标记为最重要!网页中所有的公式div 的class都是MathJax_Display

.MathJax_Display {
    width: auto !important;
    display: inline !important;
}
2.mathjax默认不解析$公式$

解决办法:增加配置方法,把$加入进去,因为我的内容中有/(   )/类型的,所有去掉后一个配置

MathJax.Hub.Config({
 tex2jax: {inlineMath: [['$','$']]}
});
3.页面加载时,会显示加载过程,就是从$$到块级元素到行内元素的过程,这是mathjax功能强大,体积过大所造成的渲染缓慢的问题,特别别扭

无法截图,用过的应该都见过

解决方法:隐藏渲染过程,用过元素类型display,但渲染后的页面出现问题,所以改用透明度opacity

先把body透明度设为0

</head>
<body style="opacity:0">

渲染完成改为1

MathJax.Hub.Queue(function () {
  document.getElementsByTagName("body")[0].style.opacity=1;
  
});
大功告成,现在的页面舒服多啦




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值