当浏览器遇到<script type =“text / template”.. =“”> </script>时会做什么

时间:2012-11-10 16:47:13

标签: javascript backbone.js

  

可能重复:
  Explanation of <script type = “text/template”> … </script>

开始学习backbone.js后,我想知道浏览器在遇到

时究竟做了什么
<script type= text/template>
 ...
</script>

http://bytes.com/topic/html-css/answers/542484-browser-behavior-unknown-tags-attributes人们正在解释如果它看到未知选项卡会发生什么,但在这种情况下标签已知并且浏览器知道如何处理它,问题在于类型。

所以问题是:

  • 是否尝试执行它?
  • 是否忽略了它?

为什么我们需要<script type= text/template>...</script>,为什么我们不能使用<div style="display:none"> ... </div>

2 个答案:

答案 0 :(得分:2)

浏览器忽略它 - 它无法尝试执行脚本,因为它无法识别类型。

你不能使用div,因为模板通常不是有效的HTML(例如,下划线模板语法<%= modelproperty %>

答案 1 :(得分:1)

浏览器只是忽略了这样的标签。 将模板放在此类标记中很有用,因为您不需要编码HTML符号,例如<>&,例如:

<script type="text/template">
    <% for(var i = 0; i < 10; i++) { %>
        // do something
    <% } %>
</script>

在隐藏的div中你应该写这样的东西:

<script type="text/template">
    &lt;% for(var i = 0; i &lt; 10; i++) { %&gt;
        // do something
    &lt;% } %&gt;
</script>