guzuomuse 2012-06-17 21:15:24 3410次浏览 3条回复 0 0 0

这个搞不太懂 如: 如果在控制器里面引入js脚本,修改meta信息,可以在控制器中这样写

Yii::app()->clientScript->registerScriptFile('file_path.js');
Yii::app()->clientScript->registerMetaTag('key1,key2,key3','keywords',null);

这些都可以实现在视图View中来加入js脚本,修改meta信息,但是如果:

$cs =new CClientScript;
$cs->registerScriptFile('file_path.js');

则不行

查阅了源码,也没搞明白是怎么回事,先留这里,以后解答

难道是CClientScript只能作为Yii::app()(这里的Yii::app()其实是一个CWebApllication)的一个组件来用么?或者说难道CClientScript只能作为CWebAapplication的一个组件来用么?

  • 回复于 2012-06-18 16:43 举报

    使用Yii::app()->clientScript->registerScriptFile('file_path.js');性能更好。

    $cs =new CClientScript;
    $cs->registerScriptFile('file_path.js');
    

    这个没有进行初始化init()。性能没有前者好。

  • 回复于 2012-06-18 18:00 举报

    哥们,你说到点子上了,我也觉得是没有调用init()函数来初始化,可是我这样写$cs=new CClientScript; $cs->init();然后在进行使用,依旧无效……我估计应该是只能有
    Yii::app()->clientScript这么一种办法来使用……

    感谢你的回复,你看下论坛版面上基本都是咱们几个兄弟回复的,苦逼啊……还是咱山东人热心……哈

  • 回复于 2012-06-19 09:16 举报

    初始化时,还需要配置的。

您需要登录后才可以回复。登录 | 立即注册