我的网站上有一个页面,我正在使用 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 中,语法就会消失。
编辑: 以下是 header 中的代码:
<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 这就是用于语法高亮显示的全部...建议?
最佳答案
想通了: 添加
<script type="text/javascript">
SyntaxHighlighter.highlight();
</script>
在被调用作品的页面上。
关于进行 AJAX 调用时,Javascript 语法突出显示丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2301260/