我在網頁上使用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年了) –