bonfire / codeigniter - Assets :: add_js - 无法添加传递参数

时间:2013-02-16 19:36:38

标签: php javascript codeigniter

我需要能够创建一个如下所示的行:

<script type="text/javascript" src="http://localhost/myapp/themes/testtheme/js/fancybox/jquery.fancybox.pack.js?v=2.1.2"></script>

我尝试了以下内容:

Assets::add_js('fancybox/jquery.fancybox.pack.js?v=2.1.2');

但是失败了 - 它根本没有向我的标题添加任何内容。 使用:

Assets::add_js('fancybox/jquery.fancybox.pack.js');

添加了脚本标记,但没有版本号。它看起来像这样:

<script src="http://localhost/myapp/bonfire/themes/testtheme/js/fancybox/jquery.fancybox.pack.js" type="text/javascript" ></script>

你能告诉我如何将?v = 2.1.2添加到我的脚本标签中吗?谢谢!

1 个答案:

答案 0 :(得分:1)

我对Bonfire不太熟悉,但我快速浏览了源代码。

我很确定它没有显示脚本标记的原因是因为它正在查找文件名为fancybox/jquery.fancybox.pack.js?v=2.1.2的文件,该文件不存在。

我认为你可以通过使用完整的URL来欺骗它,所以它认为它是一个外部脚本,不会检查文件是否存在。类似的东西:

Assets::add_js(base_url().'fancybox/jquery.fancybox.pack.js?v=2.1.2');

必须使用这样的解决方法并且有时会产生副作用,这是非常令人愉快的,所以我建议你point this out to the developer(s) of Bonfire

另外需要注意的是,?v=2.1.2只不过是更新文件时的缓存破坏技巧(它会让用户在更改查询字符串时重新下载文件),所以请考虑是否你确实需要它。