在jQuery-template </script>中使用<script>

时间:2011-10-05 13:13:01

标签: javascript jquery jquery-templates

我第一次使用jQuery模板,我需要我的模板来包含一些javascript,所以它在渲染模板时运行。 我需要在当前时间的时间戳...

写作

<script type="text/javascript"></script>

在模板中,使其失败。

这根本不可能吗?

1 个答案:

答案 0 :(得分:0)

从我的answer to another question

中公然复制了以下内容

当HTML解析器找到<script>时,它将开始解析内容,直到找到</script>中出现的内容:

document.write("<script src='links7.js?'+Math.random()+></script>

因此,您需要更改源代码,以便它不会被解析为脚本元素的结尾:

document.write("<script src='links7.js?'+Math.random()+></scri" + "pt>");

理想情况下,您可以使用HTML转义所有内联JavaScript代码,这也可以缓解此问题:

document.write(&quot;&lt;script src='links7.js?'+Math.random()+&gt;&lt;/script&

对于您的特定情况(对我而言,不能标记为欺骗),请确保您的script代码之间的内容是HTML转义的,或者正确放置在<![CDATA[ ]]>代码之间。

&lt;script type=&quot;text/javascript&quot;&gt;&lt;/script&gt;

-OR -

/* <![CDATA[ */
<script type="text/javascript"></script>
/* ]]> */

总而言之,你应该在渲染过程中调用必要的JS,而不是不必要地将script元素注入到DOM中。