jquery - 更改 yii 中注册脚本文件的顺序

标签 jquery yii

我正在为 Yii 应用程序制作一个小部件。主布局 View 注册了所有常见的脚本文件,例如 jQuery 和 jQueryUI。在我的小部件中,我想使用依赖于已加载的 jQueryUI 的 jQueryUI 插件。

我知道我可以指定脚本包含在页面上的位置,但简单地将其包含在“末尾”似乎有点碰运气 - 如果我需要在该插件之后加载其他脚本怎么办?我如何确保它们以正确的顺序加载 - 有人有任何想法吗?

最佳答案

您可以使用 Yii 中的依赖功能 script packages 。我当时有similar problem before .

例如,您有如下所示的脚本包配置,

'clientScript' => array(
  'packages' => array(
     'package1' => array(
          'basePath' => 'path.to.package1',
          'js' => array(
              'package1.js',
          ),
          'css' => array(
              'package1.css'
          ),
      ),
     'package2' => array(
          'basePath' => 'path.to.package2',
          'js' => array(
              'package2.js',
          ),
          'css' => array(
              'package2.css'
          ),
          'depends' => array(
                'package1',
          )
      ),
     'package3' => array(
          'basePath' => 'path.to.package3',
          'js' => array(
              'package3.js',
          ),
          'css' => array(
              'package3.css'
          ),
          'depends' => array(
                'package2',
          )
      ),
   )
)

在上面的示例中,package2需要(取决于)package1package3需要package2 。假设在您的情况下,小部件使用 package2 ,另一个脚本使用 package3 。即使您不渲染小部件,如果您使用 Yii::app()->clientScript->registerPackage('package3'); ,它会自动安装package2然后安装package1之前package2 (或者如果之前某些脚本已经需要package1,则不会安装。)。

关于jquery - 更改 yii 中注册脚本文件的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11116312/

相关文章:

php - CDbCommand 执行 SQL 语句失败 : SQLSTATE[22007]: Invalid datetime format

php - 在 Yii2 REST API 中同时使用 JSON 和 JSONP 格式

jquery - iPad 在 Jquery Accordion 上滚动

javascript - jquery添加/删除与另一个div中的提要相同的下拉选项

php - Yii 1.1.14 与 Composer 自动加载

mysql - 检查连接表中的记录是否多于一条

php - 将自定义 Docker 容器链接到 MySQL

javascript - 如何在 iframe 包含的外部页面上显示隐藏的 div

javascript - 复选框 javascript 显示状态

javascript - Jquery ColorPicker 的问题