html脚本标记不使用类型javascript <script type =“text / html”>?</script>

时间:2010-07-13 20:46:26

标签: asp.net javascript html tags script-tag

我在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()以后吗?
有谁知道这是什么?
使用这种方法的人可以解释这些好处吗?

2 个答案:

答案 0 :(得分:17)

简单地忽略具有未知内容类型的脚本元素,在这种情况下,浏览器不知道如何执行text/html脚本。

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

另见:

答案 1 :(得分:4)

这是我在John Resig博客文章中首次看到的一个技巧。它用于举行模板以便稍后扩展的东西。浏览器不会尝试执行它。

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

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