smarty 定界符与js冲突的问题

来源:互联网 发布:qq三国js奥义选择 编辑:程序博客网 时间:2024/05/22 17:40

在使用smarty的时候,如果没有更改smarty配置,smarty的定界符是{ },大家经常可能碰到模板页中js无法正确执行的问题。

这就是因为smarty引擎把js中{ }之间的内容也当做smarty语句来处理,本人总结的解决这个问题主要有三个:

1.更改smarty配置文件中的定界符。(就我而言,已经习惯了用{ },所以一般不用这种方法。)

2.把javascript代码写到一个js文件中,在模板页中引用即可。

         (将JS函数放进一个文本文件中,命名为XXX.js          在网页中用<script language="JavaScript" src="XXX.js"></script>引用。
      或 <script src='xx.js'></scrpit>.)

3.使用smarty内置的literal标签,此标签内的数据将会被当做文本处理。例如

{literal}

<script language=javascript>

  ........

</script>

{/literal}

有时,我们需要输出定界符{ },则可以使用{ldelim}和{rdelim}标签来输出左右定界符。

0 0