jquery - 在 YII 中的 View 中包含 JS 文件

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

我想在 View 中加载 JS 文件以避免应用程序负载过重。我在 View 中使用这个 JS 文件作为 CgrdView 。所以我尝试了这个:

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

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

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

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

仅供引用:我正在使用 cgridview 搜索框将搜索框条目发布到我的 Controller 。

最佳答案

bbq 脚本可作为核心脚本使用,注册它还将加载 jquery.js。因此,要使用 bbq,您只需执行以下操作:

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

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

<小时/>

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

<小时/>

如果您希望在带有 CGridView 的 View 中使用此脚本,那么让我告诉您,CGridView 会自动加载此脚本,您无需再次注册它.

关于jquery - 在 YII 中的 View 中包含 JS 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14195048/

相关文章:

javascript - 使用数组填充选择下拉列表

jquery - 动态内容的打印分页符

php - 使用 PostgreSQL 在 Yii Framework 中设置非默认架构

yii - 如何在GridView(yii)中将一列格式化为货币?

javascript addClass 运行但回滚

php - 如何提高 CGridView 在 Yii 中的性能

php - 在 (php) yii 应用程序中的 phpstorm 中定义变量的定义

php - Yii HTML2PDF (ePdf) Impossible de charger l'image/images/big-logo.png

yii2 - Yii2模型搜索中如何设置条件为空?

javascript - jQuery/JavaScript - 计算多个父元素中的子元素