2010-02-20 27 views
7

मेरे पास मेरी वेबसाइट पर एक पृष्ठ है कि मैं एक jQuery AJAX कॉल का उपयोग करने के लिए कॉल कर रहा हूं। यह एक div में लोड होता है। लेकिन जब भी मैं पेज लोड हो जाता हूं, तो यह दिखाता है कि यह प्रदर्शित होना चाहिए कि यह सिनटैक्स को हाइलाइट करता है। उदाहरण के लिए:जावास्क्रिप्ट सिंटेक्स हाइलाइटिंग खो गया जब 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> 

यह प्रारंभिक पृष्ठ लोड पर काम करता है अगर मैं awesomeo में कुछ है, लेकिन एक पेज div में AJAX के माध्यम से भरी हुई है, तो, वाक्य रचना गायब हो जाता है।

संपादित करें: http://alexgorbatchev.com/wiki/SyntaxHighlighter है बस इतना ही है कि वाक्य रचना हाइलाइटिंग के लिए प्रयोग किया जाता है ... सुझाव:

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

इस से है: निम्नलिखित कोड शीर्षक में है कि है?

+0

यदि आप कृपया बता सकते हैं कि आपका वाक्यविन्यास हाइलाइटर क्या करता है और यह कैसे करता है तो इससे मदद मिलेगी। उदाहरण के लिए क्या आपके पास सीएसएस फ़ाइल है? क्या आप div सामग्री या इसकी शैलियों को बदलने के लिए $ (दस्तावेज़) .read() या onload() का उपयोग करते हैं? – e4c5

उत्तर

4

यह पता चल: पेज काम करता है बुलाया जा रहा है पर

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

जोड़ा जा रहा है।

+0

+1 इसके लिए धन्यवाद! – trgraglia

1

आपके वाक्यविन्यास प्रकाशक शायद दस्तावेज़ के लिए एक कार्य है। डाउनलोड करें। आपको उस फ़ंक्शन को ढूंढना होगा और उसे फिर से कॉल करना होगा।

0

आपका वाक्यविन्यास हाइलाइटिंग फ़ंक्शन कैसे कहा जाता है? यदि सिंटैक्स हाइलाइटिंग को बॉडी ऑनलोड() ईवेंट पर निकाल दिया जाता है, तो यह स्पष्ट रूप से AJAX कॉल के बाद काम नहीं करेगा क्योंकि शरीर पहले ही लोड हो चुका है।

0

जब आप AJAX प्रतिक्रिया प्राप्त करते हैं, तो कोड को दोबारा स्टाइल करने के लिए भी इस कोड को लिखें।

// your ajax respone code here and after that: 
SyntaxHighlighter.config.clipboardSwf = '/scripts/clipboard.swf'; 
SyntaxHighlighter.all(); 
संबंधित मुद्दे