0

我正在使用 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,它不会影响,我需要包含它来获取部分渲染视图中的预期外观。

我可以通过标签在视图内使用书写样式来实现这一点,但我猜这不是解决问题的最佳方法。可能是我错过了什么。

感谢任何及时的答复。

4

1 回答 1

0

当使用 output Process = true 时,yii 会自动生成这样的样式.. gridview/styles.css

所以这会导致延迟,因为在这个 styles.css 只呈现我定义的任何内容之后,它会导致延迟。

将此部分添加到特定操作中可以解决问题。

Yii::app()->clientScript->scriptMap['styles.css'] = false;
于 2013-09-16T05:07:46.527 回答