2010-07-13 45 views
14

我被检查出一个HTML页面的源和过这个html脚本标记不使用类型javascript <script type =“text/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脚本。

这是一些JavaScript模板引擎常用的技术。

参见:

+0

BTW,[Processing.js](http://processingjs.org/)也使用这种技术。 – CMS 2010-07-13 21:00:50

4

这是一个把戏,我第一次在约翰Resig的博客中看到。它被用于像拿着一个模板的东西以后被扩展。浏览器不会尝试执行它。

“好处”?那么,它比直接在Javascript代码中保留一个字符串要好得多。因为你在Javascript中没有多行字符串,所以定义一个像这样的模板是很麻烦的。

编辑 —哈哈是的,CMS已经在他的回答中链接了博客文章!

相关问题