在YII中查看JS文件

tnc*_*ise 1 jquery yii yii-events yii-components yii-extensions

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

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

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

<script src="/assets/9d419b82/jquery.ba-bbq.js?v=1.0.127" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

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

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

boo*_*dev 5

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

Yii::app()->clientScript->registerCoreScript('bbq');
Run Code Online (Sandbox Code Playgroud)

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


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


如果你想在一个视图中使用a CGridView,那么让我告诉你CGridView自动加载这个脚本,你不必再次注册它.