在YII中查看JS文件

时间:2013-01-07 11:32:57

标签: jquery yii yii-extensions yii-components yii-events

我想在视图中加载JS文件,以避免重载我的应用程序。我在JS中使用此CgrdView文件。所以我试过这个:

Yii::app()->clientScript->registerScriptFile(
Yii::app()->baseUrl.'/assets/9d419b82/jquery.ba-bbq.js?v=1.0.127'
);

在我的视图标题中。 但是我收到错误:未捕获的ReferenceError:未定义jQuery 如上所述,我想在视图中为CgriView加载jquery.ba-bbq.js文件,但我无法加载它。 相反,我使用以下,但不知道加载与否的有效方式。

<script src="/assets/9d419b82/jquery.ba-bbq.js?v=1.0.127" type="text/javascript"></script>

当我在布局中加载时,它正在工作,但这不是有效的方法。

仅供参考:我正在使用cgridview搜索框将搜索框条目发布到我的控制器。

1 个答案:

答案 0 :(得分:5)

bbq脚本可用作核心脚本,注册它也会加载jquery.js。所以要使用bbq,你只需要这样做:

Yii::app()->clientScript->registerCoreScript('bbq');

assets文件夹本质上是动态的,用于在可通过Web访问的目录中存储脚本,css和图像。它会由各种Yii小部件自动填充,也可以在您调用registerCoreScript时填充。由于这些原因and more,您不应该依赖assets文件夹来包含js,css,images,而是让框架为您包含它。


我在文档中找不到核心包的列表,但可以在源文件中看到:framework/web/js/packages.php


如果您想在CGridView的视图中使用此功能,请告诉您CGridView自动加载此脚本,您无需再次注册。