jquery - Yii 让 jQuery 首先加载

标签 jquery yii assets

Yii 中的许多模块、扩展或其他东西都尝试从资源管理器加载 jQuery。这很好,我已经不再对包含进行硬编码,而是采用“registerCoreScript”。

唯一的问题是它似乎是在 HEAD 底部附近加载的。我有很多其他依赖于 jQuery 的脚本和代码,它们是在它之前加载的。我如何确保 jQuery 是第一个加载的?

事实是我不明白为什么这不是默认行为。 jQuery 不依赖于任何东西,但是很多脚本依赖于它......

最佳答案

您可以使用 property of CClientScript组件,并指定depends:

Yii::app()->clientScript->addPackage('give-some-name-to-script', array(
    'baseUrl'=>'base URL for the script files', // or basePath
    'js'=>array(list of js files relative to basePath/baseUrl),
    'depends'=>array('jquery')
));

或者在 config/main.php 配置中执行此操作:

'clientScript'=>array(
    'packages'=>array(
        'give-this-package-name'=>array(
            'basePath'=>'alias of the directory containing the script files',
            'js'=>array('first.js','second.js'),
            'depends'=>array('jquery')
    ),
)

然后使用 registerPackage :

Yii::app()->clientScript->registerPackage('your-package-name');

我认为这是实现这一目标的唯一方法。当然,这需要您将 javascript 分组到一个包中并给它一些名称,或者将每个脚本声明为一个包。

<小时/>

相关答案:thisthis

关于jquery - Yii 让 jQuery 首先加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13286864/

相关文章:

android - LibGdx resolutionFileResolver + Assetmanager,文件名?

android - 在磨损服务中调用 blockingConnect 时出现 IllegalStateException

javascript - 设置第二条验证消息

javascript - HTML 如何相对于两个 div 定位一个按钮?

javascript - 使用ajax在codeigniter中提交表单

yii - Yii 验证方案是否与 enableClientValidation 设置为 true 一起使用?

jquery - 单击时显示消息

php - YII 中的 CHttpException 异常

javascript - 在 Yii 中,将 PHP 变量传递给 JavaScript

javascript - Android webview 不显示带有外部 js 链接的 html