2010-02-20 29 views
7

Ho una pagina sul mio sito Web che sto facendo una chiamata all'utilizzo di una chiamata jQuery ajax. Carica in un div. Ma ogni volta che la pagina viene caricata, perde il snytax evidenziando che dovrebbe essere visualizzato. Es:Javascript Syntaxhighlighting perso quando viene effettuata una chiamata AJAX

<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> 

Funziona sul caricamento della pagina iniziale, se ho qualcosa in awesomeo ma se viene caricata una pagina tramite la tecnologia AJAX in div, la sintassi scompare.

EDIT: Il seguente è il codice che si trova nell'intestazione:

<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> 

Questo è da: http://alexgorbatchev.com/wiki/SyntaxHighlighter Questo è tutto ciò che viene utilizzato per l'evidenziazione della sintassi ... Suggerimenti?

+0

se puoi gentilmente spiegare cosa fa l'evidenziatore di sintassi e come lo fa, sarebbe d'aiuto. Ad esempio hai un file CSS? usi $ (document) .read() o onload() per cambiare il contenuto div o i suoi stili? – e4c5

risposta

4

capito: Aggiunta

<script type="text/javascript"> 
    SyntaxHighlighter.highlight(); 
</script> 

sulla pagina di essere chiamati opere.

+0

+1 Grazie per questo! – trgraglia

1

probabilmente il tuo sintattico ha una funzione associata a document.onload. Dovrai trovare quella funzione e chiamarla di nuovo.

0

Come viene chiamata la funzione di evidenziazione della sintassi? Se l'evidenziazione della sintassi viene attivata in un evento onload() del corpo, ovviamente non funzionerà dopo una chiamata AJAX perché il corpo è già caricato.

0

Quando si riceve la risposta ajax, scrivere anche questo codice per reimpostare il codice.

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