Yii框架在脚本标记中添加延迟
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Yii框架在脚本标记中添加延迟相关的知识,希望对你有一定的参考价值。
如何在脚本标记中添加延迟?我用这个Yii::app()->clientScript->registerScriptFile(Yii::app()->getBaseUrl().'/js/jquery.js');
我试着换到Yii::app()->clientScript->registerScriptFile(Yii::app()->getBaseUrl().'/js/jquery.js', CClientScript::POS_HEAD,array('defer'=>'defer'));
或者Yii::app()->clientScript->registerScriptFile(Yii::app()->getBaseUrl().'/js/jquery.js', CClientScript::POS_HEAD,array('id'=>'defer'));
不行。我不知道该怎么做。请帮忙。
答案
我发现了这种方式:
- 检查CClientScript.php中的函数registerScriptFile(),如果param htmlOptions不存在,请从源代码中替换https://github.com/yiisoft/yii中的2个文件 CClientScript.php CHtml.php
- 在文件CHtml.php中注释
'defer'=>1
函数的renderAttributes()
- 添加以下行:Yii :: app() - > clientScript-> registerScriptFile(Yii :: app() - > get BaseUrl()。'/ js / jquer y.js',CClientScript :: POS_HEAD,array('defer') =>''));
另一答案
您可以提供诸如此类的选项
$this->registerJsFile('https://apis.google.com/js/platform.js?onload=renderButton',['position' => View::POS_END, 'async'=>true, 'defer'=>true]);
添加内部js
$this->registerJsFile(Yii::$app->view->theme->baseUrl .'/your_js_path',['position' => View::POS_END, 'async'=>true, 'defer'=>true]);
以上是关于Yii框架在脚本标记中添加延迟的主要内容,如果未能解决你的问题,请参考以下文章