宝哥软件园

在Yii2中使用Pjax加载Yii2内联脚本失败原因分析

编辑:宝哥软件园 来源:互联网 时间:2021-09-16

使用def funk t/jquery-pjax加载Yii2的ActiveForm时出错。正常情况下,是这样的。

应该先加载ActiveForm的两个js,但实际情况是:

typeError:JQuery(.).yiiActiveForm不是一个函数。

github中的问题已经讨论并解决了这个问题。

Pjax首先通过html()执行内联脚本,然后通过executeScriptTags()执行带有src的脚本,因此找不到yiiActiveForm。Pjax的作者拒绝使用JQuery.getScript()来解决这个问题,因为安全原因函数eval的使用不符合CSP(内容安全策略)。

上述信息介绍了在Yii2中使用Pjax导致Yii2内嵌脚本加载失败的原因分析。希望能帮到你上面!

更多资讯
游戏推荐
更多+