2010-07-13 13 views
14

मैं एक html पृष्ठ पर स्रोत पर नज़र डालकर तथा इसएचटीएमएल स्क्रिप्ट टैग टाइप जावास्क्रिप्ट <स्क्रिप्ट टाइप = "टेक्स्ट/एचटीएमएल"> का उपयोग नहीं कर रहा है?

<script id="searchItemTemplate" type="text/html"> 
    <# var rows = Math.floor((Model.RecordsPerPage - 1)/3 + 1); 
     for (var i = 0; i < rows; ++i){ 
     var startIdx = i * 3; 
     var endIdx = startIdx + 3; 
    #> 
//etc .... 
</script> 

मैं इस से पहले कभी नहीं देखा है भर में आया। स्क्रिप्ट type="text/html" क्या है। मुझे नहीं पता कि इससे कोई फर्क पड़ता है लेकिन यह एक .aspx पृष्ठ पर था।

क्या यह किसी प्रकार का स्थान धारक पार्स और eval() बाद में है?
क्या किसी को पता है कि यह क्या है?
क्या कोई व्यक्ति जिसने इस विधि का उपयोग किया है, वह लाभ बता सकते हैं?

उत्तर

17

स्क्रिप्ट तत्वों एक अज्ञात सामग्री प्रकार होना कि बस अनदेखी कर रहे हैं, इस मामले में, ब्राउज़र कैसे एक text/html स्क्रिप्ट को निष्पादित करने के लिए पता नहीं है।

यह कुछ सामान्य जावास्क्रिप्ट टेम्पलेटिंग इंजनों द्वारा उपयोग की जाने वाली एक आम तकनीक है।

यह भी देखें:

+0

बीटीडब्ल्यू, [प्रसंस्करण.जेएस] (http://processingjs.org/) इस तकनीक का भी उपयोग करता है। – CMS

4

यह एक चाल है कि मैं पहली बार एक जॉन Resig ब्लॉग पोस्ट में देखा है। इसका उपयोग टेम्पलेट को बाद में विस्तारित करने के लिए सामानों के लिए किया जाता है। ब्राउज़र इसे निष्पादित करने का कोई प्रयास नहीं करेगा।

"लाभ"? खैर, यह सीधे आपके जावास्क्रिप्ट कोड में स्ट्रिंग रखने से बहुत साफ है। चूंकि आपके पास जावास्क्रिप्ट में बहु-पंक्ति तार नहीं हैं, इसलिए इस तरह के टेम्पलेट को परिभाषित करना गन्दा है।

संपादित करें — हा हा हां, सीएमएस ने अपने ब्लॉग में बहुत ही ब्लॉग पोस्ट को जोड़ा है!

संबंधित मुद्दे