[Perl Other] Template Toolkit 内插引起 JavaScript $ 异常

Aug 18th, 2010

转载本站文章请注明,转载自:扶凯[http://www.php-oa.com]

本文链接: http://www.php-oa.com/2010/08/18/template-toolkit-javascript.html

 

写了一个小程序,使用了一段别人的 JavaScript 来做表格外部排序.但发现只要 JavaScript 经过我的 Template TT 的输出后,就变样了,不能正常的使用这个 JavaScript 了.使用 Diff 的命令查看后发现原来是 Template Toolkit 给 $ 的符号,当做默认变量了.

解决方法只能在 New 一个新的 TT 时.选择不默认内插.只内插指定的符号中的内容 [% %] .

默认我使用 Template Toolkit 来 New 的方法如下:

my $tt = Template->new({
        INCLUDE_PATH => './tmpl',
        INTERPOLATE  => 1,
        }) || die "$Template::ERROR\n";
 

这样是打开了内插的功能,只要整个 tt 的模板文件中出现了 $ ,就会被内插来检查变量是否存在…但很不巧的是,JavaScript 中有变量,一起内插了.所以只能关掉这个功能,给这个

INTERPOLATE  0

值设置成 0.

如果 interpolate 设置成  1. JavaScript 中的变量,如:

 t.h=T$$('thead',T$(e))[0].rows[0]; t.w=t.h.cells.length;

输出后为:

t.h=T('thead',T(e))[0].rows[0]; t.w=t.h.cells.length;

…有意思吧..

 

 

Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪 ViVi 365Key 网摘 天极网摘 和讯网摘 博拉网 POCO 网摘 饭否 QQ 书签 Digbuzz 我挖网 Mister Wong
No comments yet.