【问题标题】:Yii framework add defer in script tagYii 框架在脚本标签中添加延迟
【发布时间】:2017-04-11 07:56:05
【问题描述】:

如何在脚本标签中添加延迟?我用这个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'));

不工作。我不知道该怎么做。请帮忙。

【问题讨论】:

  • Yii::app()->clientScript->registerScriptFile(Yii::app()->getBaseUrl().'/js/jquery.js', CClientScript::POS_HEAD,array('延迟'=>'真'));试试这个。
  • 还是不行,有没有其他办法?

标签: javascript php jquery yii


【解决方案1】:

您可以提供诸如

之类的选项
$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]);

【讨论】:

    【解决方案2】:

    我是这样找到的:

    1. 检查 CClientScript.php 中的函数 registerScriptFile() ,如果参数 htmlOptions 不存在,请在您的源代码中替换以下2个文件来自https://github.com/yiisoft/yii

    2. 文件中函数renderAttributes()的注释行'defer'=>1 CHtml.php
    3. 添加这一行: Yii::app()->clientScript->registerScriptFile(Yii::app()->get‌​BaseUrl().'/js/jquer‌​y.js', CClientScript::POS_HEAD, array('defer'=> ''));

    【讨论】:

    • 但我需要添加延迟,像这样<script src="demo_defer.js" defer></script>
    猜你喜欢
    • 2020-09-22
    • 2012-06-04
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多