我第一次使用jQuery模板,我需要我的模板来包含一些javascript,所以它在渲染模板时运行。 我需要在当前时间的时间戳...
写作
<script type="text/javascript"></script>
在模板中,使其失败。
这根本不可能吗?
答案 0 :(得分:0)
当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("<script src='links7.js?'+Math.random()+></script&
对于您的特定情况(对我而言,不能标记为欺骗),请确保您的script
代码之间的内容是HTML转义的,或者正确放置在<![CDATA[ ]]>
代码之间。
<script type="text/javascript"></script>
-OR -
/* <![CDATA[ */
<script type="text/javascript"></script>
/* ]]> */
总而言之,你应该在渲染过程中调用必要的JS,而不是不必要地将script
元素注入到DOM中。