Thinkphp 框架中系统常量在 Js 文件中不解析的解决方法
用过 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()函数等。如果有更好的方法,欢迎评论~
这是一篇过去很久的文章,其中的信息可能已经有所发展或是发生改变。