gpt4 book ai didi

php - ajax 请求后,Syntaxhighlighter 找不到任何画笔

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:45:38 27 4
gpt4 key购买 nike

我正在使用 Syntaxhighlighter在网页上,我制作了一个 javascript 函数来使用 SyntaxHighlighter.autoloader(...) 加载所有画笔并应用 SyntaxHighlighter.all()

我在页面加载时运行一次此函数,结果:语法突出显示得到正确应用。

然后,我使用 ajax 加载一些新内容并运行相同的函数来突出显示新内容。

但是这次 Syntaxhighlighter 似乎忘记了所有已加载的画笔,我收到一条警告说画笔未加载。

虽然我环顾四周并发现了 2 个可能的原因,但我不知道是什么原因造成的:

An issue on the bitbucket repository

这看起来像是解决方案,但是当我使用存储库中解压的 shCore.js 时,我的 IDE 指示语法错误,并且当我尝试运行它时仍然遇到 javascript 错误。

我在其他类似 Stack Overflow 帖子的一些答案中找到的另一种解决方案是在页面加载后使用 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();
}
}

有人知道如何解决这个问题吗? (或者有人可以指出我如何进行 bitbucket 上建议的更改)

谢谢

最佳答案

我遇到了同样的问题。我刚刚按照 bitbucket 的建议解决了它。

loadSyntaxHighLighter() 调用之前添加以下代码:

SyntaxHighlighter.vars.discoveredBrushes=null;

SyntaxHighlighter 将被迫重新发现您页面上的画笔并加载适当的画笔。

问候汤姆

关于php - ajax 请求后,Syntaxhighlighter 找不到任何画笔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7517962/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com