我现在有这使得6个局部视图的页面。 那我现在面临的问题是,因为我需要processOutput设置为TRUE,jQuery是加载多次。
我试图通过增加来解决这个
<?php Yii::app()->clientscript->scriptMap['jquery.min.js'] = FALSE; ?>
<?php Yii::app()->clientscript->scriptMap['jquery.js'] = FALSE; ?>
我的部分观点。 问题是,如果这样做,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; ?>
您可以包含以下组件在阵列中的配置文件ClientScript映射
'clientScript' => array(
'scriptMap' => array(
'jquery.js' => '/js/jquery.min.js', // set your path here
),
),
还添加以下到您<head>
部分
Yii::app()->clientScript->registerCoreScript('jquery');
并删除任何其它手动jQuery的包括你的意见。 你应该罚款。