在进行AJAX调用时,Javascript Syntaxhighlighting丢失了

时间:2010-02-20 06:04:07

标签: javascript jquery ajax

我的网站上有一个页面,我正在调用使用jQuery ajax调用。它加载div。但每当我加载页面时,它就会丢失它应该显示的snytax突出显示。例如:

<html>
<head>
<!-- syntax highlighting script -->
<script type="text/javascript" src="syntaxhighlighter.js"></script>
</head>
<body>
<!-- div that displays ajax page cal -->
<div id="awesomeo">

</div>
</body>
</html>

如果我在awesomeo中有内容,它可以处理初始页面加载,但如果页面通过AJAX加载到div中,则语法消失。

编辑: 以下是标题中的代码:

<script type="text/javascript" src="/scripts/shCore.js"></script>
<script type="text/javascript" src="/scripts/shBrushBash.js"></script>
<script type="text/javascript" src="/scripts/shBrushCpp.js"></script>
<script type="text/javascript" src="/scripts/shBrushCSharp.js"></script>
<script type="text/javascript" src="/scripts/shBrushCss.js"></script>
<script type="text/javascript" src="/scripts/shBrushJava.js"></script>
<script type="text/javascript" src="/scripts/shBrushJScript.js"></script>
<script type="text/javascript" src="/scripts/shBrushPhp.js"></script>
<script type="text/javascript" src="/scripts/shBrushPlain.js"></script>

<link type="text/css" rel="stylesheet" href="/styles/shCore.css"/>
<link type="text/css" rel="stylesheet" href="/styles/shThemeDefault.css"/>

<script type="text/javascript">
    SyntaxHighlighter.config.clipboardSwf = '/scripts/clipboard.swf';
    SyntaxHighlighter.all();
</script>

来自:http://alexgorbatchev.com/wiki/SyntaxHighlighter 这就是用于语法高亮的所有内容......建议?

4 个答案:

答案 0 :(得分:4)

想出来: 添加

<script type="text/javascript">
    SyntaxHighlighter.highlight();
</script>
正在调用的页面上的

工作。

答案 1 :(得分:1)

你的syntaxhighlighter可能有一个绑定到document.onload的函数。您需要找到该功能并再次调用它。

答案 2 :(得分:0)

如何调用语法高亮功能?如果在body onload()事件上触发语法高亮显示,那么在AJAX调用之后它显然不起作用,因为正文已经加载了。

答案 3 :(得分:0)

当您收到ajax响应时,也请在此处编写此代码以重新设置代码样式。

// your ajax respone code here and after that:
SyntaxHighlighter.config.clipboardSwf = '/scripts/clipboard.swf';
SyntaxHighlighter.all();