欢迎访问:我爱bear - 你可记得 三月初 初相遇雨橙 我曾忆起 初春时 时景逢雨萱
  
你现在的位置: 首页 主题制作 正文
zblog php使用Ajax之后 自带代码高亮插件Prism失效的临时解决方法

Prism.js 是一个非常不错的用于处理网页中代码块的JavaScript库。然而,Prism.js嵌入zblog php之后,在使用了整站Ajax或者Pjax之后,自带的代码高亮插件Prism失效了,代码并没有实现高亮。需要再回调一次,强制Prism再次在当前页面运行,实现代码高亮效果。代码如下,(仅限于Zblog php)。具体是否有问题还有待测试。。。表面看上去是成功了的。

$(function () {
    var compatibility = {
        as3: "actionscript",
        "c#": "csharp",
        delphi: "pascal",
        html: "markup",
        xml: "markup",
        vb: "basic",
        js: "javascript",
        plain: "markdown",
        pl: "perl",
        ps: "powershell"
    };
    var runFunction = function (doms, callback) {
        doms.each(function (index, unwrappedDom) {
            var dom = $(unwrappedDom);
            var codeDom = $("<code>");
            if (callback) callback(dom);
            var languageClass = "prism-language-" + function (classObject) {
                if (classObject === null) return "markdown";
                var className = classObject[1];
                return compatibility[className] ? compatibility[className] : className
            }(dom.attr("class").match(/prism-language-([0-9a-zA-Z]+)/));
            codeDom.html(dom.html()).addClass("prism-line-numbers").addClass(languageClass);
            dom.html("").addClass(languageClass).append(codeDom)
        })
    };
    runFunction($("pre.prism-highlight"));
    runFunction($('pre[class*="brush:"]'), function (preDom) {
        var original;
        if ((original = preDom.attr("class").match(/brush:([a-zA-Z0-9\#]+);/)) !== null) {
            preDom.get(0).className = "prism-highlight prism-language-" + original[1]
        }
    });
    Prism.highlightAll()
});
发布日期:2017年12月12日 22:42:34     所属分类:主题制作
版权声明:本文创建于 6 年 前,由 烟敛寒叶 发表,共 3658 字
转载请注明:zblog php使用Ajax之后 自带代码高亮插件Prism失效的临时解决方法 (PS:如果是原创,哈哈。。。)
 
 
 
  
目前浏览:4701     暂无评论
该文章还没有评论,赶快抢占沙发吧!

  
网站简介
Z-blog 爱好者,个人博客粉丝,鼓捣主题制作,然而并不懂什么代码,乱乱唱。
本站建于 2010-04-26 已有 13 年
  • 文章总数:79
  • 页面总数:2
  • 分类总数:9
  • 标签总数:1
  • 评论总数:15
  • 浏览总数:342336
关于博客
5ibear 个人博客纯属个人娱乐博客,主要涵盖了天文地理、奇门遁甲、阴阳五行八卦及一切关乎于宇宙和平的 * *。博客“宗旨”:把个人制作累积的东东,分享给最需要的读者,“专研”主题制作,然而并不懂什么代码。乱乱唱,唱我们的歌,风在大,我们都在这儿。。。。
Copyright © 2016-2017 我爱bear 保留所有权利 基于 Z-blog 技术创建 Theme by 烟敛寒叶 渝ICP备10202287号-2
(若本站无意侵犯了您的版权,请邮件致 yiyehanlin@qq.com 处理,谢谢!)
渝公网安备 50022502000121 号
歌曲 - 歌手
0:00