yii如何去除视图中重复加载的js文件

我的后台是一个web桌面,所有请求的页面通过jquery的load函数加载,在代码编写中发现如果被load进来的页面使用了zii中的一些挂件会导致一些js操作失效,删除zii挂件后一切正常,调试了一整个通宵才发现可能是js库重复加载导致的,被加载的页面使用zii后yii会自动将要用到的js库文件插入到页面首部,而这些js库在请求加载的主页面中已经存在,请问该如何去除掉这些重复加载的js库文件呢?

查过yii的api后,发现CClientScript类中有一个unifyScripts"的方法可以去除重复的js文件,我以“Yii::app()->clientScript->unifyScripts();”这种方式调用后,出现“CClientScript 没有名为 "unifyScripts" 的方法。 ”的错误提示,该如何使用这个方法呢?

请帮帮我,感激不尽!

帖子要沉了

有谁遇到过类似的问题吗?

没有用过zii,不过,你能知道它加载的那些js文件吧,那就可以自己加载啦,给<script … 加一个id,然后自己管理。

Yii::app()->clientScript->unifyScripts();”这种方式是错误的

clientScript 在里边是个属性,貌似没有赋值之前不能这样

//获取一个CClientScript

$cs=Yii::app()->getClientScript();

这样就可以操作了

另外 这不是一个好方法 !你可以在config里 修改你加载的文件配置

把不需要JS文件除掉 。。

这么用是可以的,因为它是CComponent的子类

unifyScripts提示出错是因为它是一个protected方法,不能在外部调用,CClientScript在render的时候已经默认运行过这个method了