首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SyntaxHighlighter不可靠,不能在移动设备上工作

SyntaxHighlighter不可靠,不能在移动设备上工作
EN

Stack Overflow用户
提问于 2015-12-19 14:57:19
回答 1查看 217关注 0票数 0

我已经开始使用SyntaxHighlighter来满足语法突出显示的需要。

然而,我意识到它在移动设备上不起作用。类似地,它通常在桌面浏览器上不起作用,但有时是这样的。

它通常默认为<pre>样式,因为SyntaxHighlighter不会将<pre>转换为自己的样式<div>

但有时它会做它应该做的事情:

(你可以在我的网站家庭作业生活上看到这种效果。)

在脚本调用它之前,我已经确保了包含语法荧光笔的脚本,并且我的脚本在页面加载时运行。

但是,如果我在页面加载后调用SyntaxHighlighter.all()SyntaxHighlighter.highlight() (使用Chrome的开发控制台),它就会对其进行转换。但它为什么不自动这么做呢?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-19 15:26:27

这是一个错误,当你调用你的荧光笔方法。

动态地将代码加载到HTML中。现在,当文档准备好后,它将调用您的荧光笔,但是由于您想要高亮显示的代码不在硬编码的HTML中,而是稍后加载,所以荧光笔可能无法找到它。

$.getJSON中加载所有内容,在这个方法完成后,您可以在HTML中突出显示代码,这意味着您可以调用SyntaxHighlighter.all()。您所要做的就是将荧光笔添加到这个函数中,以便在正确的时间调用它。

代码语言:javascript
运行
复制
$.getJSON("posts/posts.json", function(data) {
    $.each(data, function(i, post) {
        var newElement = $("<div>");
        newElement.addClass("post");
        newElement.append("<span class='details'>By " + post.author + "<br />On " + post.time + "</span>");
        newElement.append("<span class='title'>" + post.title + "</span>");
        newElement.append("<blockquote class='content'>" + post.content + "</blockquote>");
        $("div#posts").append(newElement);
    });

// Now you loaded all your Content in your HTML and you're able to make that code fancy!
    SyntaxHighlighter.all();
    SyntaxHighlighter.highlight();
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34372065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档