我想在 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/