我在网页上使用Syntaxhighlighter,我已经使用SyntaxHighlighter.autoloader(...)加载了所有画笔并应用了SyntaxHighlighter.all()Syntaxhighlighter在ajax请求后无法找到任何画笔
当页面被加载时,我运行这个函数一次,结果:语法高亮得到正确应用。
之后,我使用ajax加载一些新内容,并运行相同的函数以突出显示新内容。
但是,这次Syntaxhighlighter似乎已经忘记了所有加载的画笔,我得到一个警告说画笔没有加载。
我不知道是什么原因造成这个虽然我环顾四周,发现2个可能的原因:
An issue on the bitbucket repository
这看起来像解决方案,但是当我用解压shCore.js从仓库中我IDE表示一个语法错误,当我试图运行它时,我得到了javascript错误。
我在其他类似堆栈溢出文章的几个答案中找到的另一个解决方案是在页面加载后使用SyntaxHighlighter.highlight()而不是.all()。然而,这不起作用。
功能我用:
function loadSyntaxHighLighter() {
SyntaxHighlighter.autoloader(
'ahk ' + app.assets + 'js/syntaxhighlighter/brushes/shBrushAhk.js',
'aps ' + app.assets + 'js/syntaxhighlighter/brushes/shBrushAppleScript.js'
//...
);
SyntaxHighlighter.defaults['toolbar'] = false;
if (SyntaxHighlighter != 'undefined') {
SyntaxHighlighter.highlight();
} else {
SyntaxHighlighter.all();
}
}
有没有人对如何解决这一问题的任何想法? (或者可有人点我了我怎么能做出到位桶建议改变)
感谢
这帮了我!非常感谢(即使从那时起已经差不多4年了) –