我正在使用yii renderPartial将视图加载到jquery对话框中。 css在视图中加载
Yii::app()->getClientScript()->registerCssFile(Yii::app()->baseUrl.'/css/grid.css')
我也使用outputProcess = true将clinetscript定义如下。
$cs = Yii::app()->clientScript;
$cs->reset();
$cs->scriptMap = array(
'jquery.js' => false,
'jquery.min.js' => false,
);
outputProcess = true,在最后一个参数中设置。
$this->getController()->renderPartial('sessionGrid', $params, false, true);
除了渲染视图中的样式(部分)之外,一切正常。
上面提到的定义的样式并没有(影响屏幕),但是在页面呈现之后它只是应用而用户能够看到变化。即我有一个用样式加粗的文本但在页面用普通文本渲染后只有粗体发生,我能看到这个变化,我的意思是延迟。
我该如何防止这种延迟?
我做了同样的事情,并在带有样式标签的视图顶部用css文件进行了更改,我注意到延迟不存在。
是什么导致了这种延迟,我在想它因为outputProcess = true。但是什么是停止outProcess不让加载我的CSS文件的解决方法。
我正在加载的这个css文件不是一个新的,它已经在主题中它自己,我在上面的部分渲染视图中包含它的原因是,它不会因为outputProcess = true而影响我需要包含它可以在部分渲染视图中获得预期的外观。
我可以通过标签在视图中编写样式,但这不是我猜的最佳方法。可能是我错过了什么。
感谢任何及时回复。
答案 0 :(得分:0)
当使用输出Process = true时,yii会像这样自动生成样式.. gridview / styles.css
所以这会导致延迟,因为这个styles.css只渲染我定义的任何东西,所以它会导致延迟。
将此部分添加到特定操作可以解决问题。
Yii::app()->clientScript->scriptMap['styles.css'] = false;