Thinkphp 框架中系统常量在 Js 文件中不解析的解决方法

2016-01-27
1分钟阅读时长

用过 Thinkphp 框架的都知道,系统常量在引入的 Js 文件中不会被解析。例如在 Js 文件中有一段代码:

$(this).attr("src","__PUBLIC__/Images/logo.png");

运行的时候会发现 __PUBLIC__ 没有被解析,怎么办呢? TP 官方的回答是,引入的外部资源文件是不会被 TP 的模板引擎解析的~ 你需要的话 只能从外部传变量进去。那么我们就可以在模板文件中定义一个变量,用来储存系统常量模板引擎解析后的URL地址。

模板文件代码:

<script>var publicUrl = "__PUBLIC__";</script>

JS文件代码:

$(this).attr("src",publicUrl+"/Images/logo.png");

这样就可以在Js文件中使用系统常量了;同样也可以__PUBLIC__换成U()函数等。如果有更好的方法,欢迎评论~

这是一篇过去很久的文章,其中的信息可能已经有所发展或是发生改变。

本文作者:她和她的猫
本文地址https://her-cat.com/posts/2016/01/27/thinkphp-tpl-const/
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!