避免JS混淆 【查看:1062 回复:0】 |
避免JS混淆
在某些情况下,如果不注意,{$('name').value} 这样的JS代码很容易被内置模板引擎误解析。 有三个方法可以解决类似的混淆问题: 1、{$('name').value}改成{ $('name').value} 因为内置模板引擎的解析规则是"{"后面紧跟"$"符号才会解析变量因此只要在"{" 和"$"之间添加空格就不会被误解析了 2、使用内置的literal标签包含JS代码 JS代码 包含在literal标签中的代码将会直接输出,不进行任何解析 3、定制模板引擎标签的定界符 例如:'TMPL_L_DELIM'=>'<{','TMPL_R_DELIM'=>'}>' 这样就和JS代码区别开来了。 4、JS代码中不能出现{}空标记,否则会导致标签解析异常。可以在其中加空格或属性 例如:var p={}; 应该改为:var p={空格};或var p={no:1}; |