首页 > 解决方案 > Yii2注册Js set Type并移除jquery

问题描述

我想为每个视图都有这样的脚本标签

<script type="application/ld+json">
/****** my code
</script>

与 $this->registerJs(....)

我得到这种代码:

<script>jQuery(function ($) {
.....
});</script>

如何添加不同的类型以及如何删除 jQuery..?

标签: yiiyii2yii2-basic-app

解决方案


默认情况下registerJs()正在使用$position = View::POS_READY,并且这个正在自动注册 jQuery 资产。如果你不想要这个,你可以使用:

  • registerJs($js, \yii\web\View::POS_HEAD)- 将 JS 放在头部
  • registerJs($js, \yii\web\View::POS_BEGIN)- 将 JS 放在正文部分的开头
  • registerJs($js, \yii\web\View::POS_END)- 将 JS 放在正文部分的末尾

不幸的是,所有这些都会将您的脚本添加到<script>没有类型的标准标签中。

要实现这一点,您必须通过自己放置或在视图或布局文件中<script...>调用来手动添加它。\yii\helpers\Html::script($js, ['type' => 'application/ld+json'])


推荐阅读