在博客部署到线上之后,发现Katex
公式无法正常显示,而相同的Html
文件在本地环境下是可以正常显示的。
其中解析的核心代码如下:
|
|
通过添加日志发现是DOMContentLoaded
事件没有触发。
但是一直没想到是什么原因,直到留意到了线上版本里<script>
标签变成了形如<script type="d6a94c0af8a975daac5bee56-text/javascript">
。
最终回想起来是Cloudflare
开启了Rocket Loader
。
Rocket Loader
是Cloudflare
的一个功能,用于异步加载JavaScript
,以提高页面加载速度。
但是Rocket Loader
可能会导致加载顺序变化从而导致某些JavaScript
代码无法正常执行。
暂时关闭了Rocket Loader
,问题解决。
也可以通过在标签里添加data-cfasync="false"
来禁用Rocket Loader
,不过考虑还需要修改主题,暂时不做修改了。