1

我想加载JS 文件以避免我的应用程序负载过重。我正在使用这个JS文件来CgrdView查看。所以我试过这个:

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

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

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

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

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

4

1 回答 1

5

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

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

assets 文件夹本质上是动态的,它用于在 Web 可访问的目录中存储脚本、css、图像。它由各种 Yii 小部件自动填充,当你调用registerCoreScript. 由于这些原因以及更多原因,您不应该依赖资产文件夹来包含 js、css、图像,而是让框架为您包含它。


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


如果您希望在带有 的视图中使用它CGridView,那么让我告诉您它CGridView会自动加载此脚本,而您不必再次注册它。

于 2013-01-08T06:24:44.743 回答