Yii – 外部JS文件Inlclude,registerScriptFile并发布

我正在为我的Web应用程序使用YII框架.我有一个关于注册外部 Java脚本文件的问题.

有人可以帮我吗

>什么是最好的位置复制Java脚本文件(哪个文件夹)
>我看到有两种注册该外部Java脚本的方法
文件

第一种方法

$baseUrl = Yii::app()->baseUrl; 
 $cs = Yii::app()->getClientScript();
 $cs->registerScriptFile($baseUrl.'/js/yourscript.js');

第二次

$cs=Yii::app()->getClientScript();
 $cs->registerScriptFile(Yii::app()->getAssetManager()->publish('path/to/js'));
 $cs->registerScript('id','your js here');

在第一种方法中,我直接使用registerScriptFile注册并传递java脚本文件

在第二种方法中,我正在注册和发布脚本.这意味着它会复制到资产文件夹. (请更正我如果我错了)
然后最后一步做什么,什么是id和再次java脚本文件. ($cs-> registerScript(‘id’,’你的js这里’);)

在我的情况下,我从一个视图访问它,所以在第二种方法,因为它被发布到资产文件夹,如果10个客户端调用文件,它发布10次(因为我从视图文件访问它)

我有点困惑

感谢您的回答

问候

基兰

Yii Assets文件夹通常由Widgets和Yii的内部组件(如Gridview)使用.您不需要将外部JS或CSS文件存储或发布到资产文件夹.

其次如果文件已经存在于资源文件夹中,那么getAssetManager() – > publish(‘path / to / js’)将不会复制它.

并且最后你不需要实例化CClientScript类,可以直接调用

Yii::app()->clientScript->registerScriptFile(
    Yii::app()->baseUrl.'/js/file.js'
);

或者如果您正在使用主题

Yii::app()->clientScript->registerScriptFile(
    Yii::app()->theme->baseUrl.'/js/file.js'
);

相关文章

Hessian开源的远程通讯,采用二进制 RPC的协议,基于 HTTP 传输。可以实现PHP调用Java,Python,C#等多语...
初识Mongodb的一些总结,在Mac Os X下真实搭建mongodb环境,以及分享个Mongodb管理工具,学习期间一些总结...
边看边操作,这样才能记得牢,实践是检验真理的唯一标准.光看不练假把式,光练不看傻把式,边看边练真把式....
在php中,结果输出一共有两种方式:echo和print,下面将对两种方式做一个比较。 echo与print的区别: (...
在安装好wampServer后,一直没有使用phpMyAdmin,今天用了一下,phpMyAdmin显示错误:The mbstring exte...
变量是用于存储数据的容器,与代数相似,可以给变量赋予某个确定的值(例如:$x=3)或者是赋予其它的变...