Yii多次加载jquery
我目前有一个页面呈现6个部分视图。我现在面临的问题是,因为我需要将processOutput设置为TRUE,jquery会被多次加载 我试图通过添加Yii多次加载jquery,jquery,yii,partial-views,Jquery,Yii,Partial Views,我目前有一个页面呈现6个部分视图。我现在面临的问题是,因为我需要将processOutput设置为TRUE,jquery会被多次加载 我试图通过添加 <?php Yii::app()->clientscript->scriptMap['jquery.min.js'] = FALSE; ?> <?php Yii::app()->clientscript->scriptMap['jquery.js'] = FALSE; ?> 依我
<?php Yii::app()->clientscript->scriptMap['jquery.min.js'] = FALSE; ?>
<?php Yii::app()->clientscript->scriptMap['jquery.js'] = FALSE; ?>
依我的观点。问题是,通过这样做,jquery根本不会加载
是否仍要解决此问题,以便只加载一次?您可以在配置文件的组件数组下包含以下ClientScript映射
'clientScript' => array(
'scriptMap' => array(
'jquery.js' => '/js/jquery.min.js', // set your path here
),
),
同时将以下内容添加到
部分
Yii::app()->clientScript->registerCoreScript('jquery');
并删除视图中包含的任何其他手动jquery。你应该没事。将代码更改为:
<?php $jquery = '/js/jquery.min.js'; ?>
<?php Yii::app()->clientscript->scriptMap['jquery.min.js'] = $jquery; ?>
<?php Yii::app()->clientscript->scriptMap['jquery.js'] = $jquery; ?>
通过这种方法,您可以使用资产管理器。例如:
<?php $jquery = Yii::app()->assetManager->publish(Yii::app()->theme->basePath . '/assets/jquery-1.9.1.js'); ?>
<?php Yii::app()->clientscript->scriptMap['jquery.min.js'] = $jquery; ?>
<?php Yii::app()->clientscript->scriptMap['jquery.js'] = $jquery; ?>
如果完全禁用脚本映射并将jQuery文件包含在html头部分,会发生什么情况?