网站首页 » js » pjax导致prism.js代码高亮插件显示失效的解决

pjax导致prism.js代码高亮插件显示失效的解决

December 14, 2018 js

问题

由于我新用的主题启用了pjax(访问效果以及用户体验都很好,速度也很快),但是发现用了prism.js代码高亮插件,导致代码高亮失效,每次只有刷新后才能显示。

原因

因为我自己不熟悉pjax,后面才知道原来容器绑定的事件被新的容器给替换掉了,现在新的容器其实并没有绑定这个新事件,所以prism.js是无法加载的。

解决

1、找到主题的pjax的代码(我的主题把所有的代码都整合到一个文件去了,所以我找了好久,最后文件检索才看到)

2、找到代码中如下代码

$(document).on('pjax:complete', function() {
    XXXXXXXX;
});

3、在之前代码xxxx后面添加博主给出的解决代码即可!

 $.getScript("//static.duoshuo.com/embed.js"); 

4、这样子每次pjax加载后在进行prism.js的加载。

Title - Artist
0:00