當我用defunkt/jquery-pjax載入Yii2的ActiveForm時發生一個錯誤,正常情況下是
ActiveForm的兩個js應該先載入,而實際情況是
typeError:JQuery(...).yiiActiveForm is not a function。
在github的issues對這個問題已經討論並得到了解決。
Pjax首先通過html()執行內聯的<script>,然後才通過executeScriptTags()執行帶著src的<script>,所以導致找不到yiiActiveForm。Pjax作者拒絕使用JQuery.getScript()解決這個問題,因為安全原因函數使用eval不符合CSP (Content Security Policy)
以上所述給大家介紹了在Yii2中使用Pjax導致Yii2內聯腳本載入失敗的原因分析的相關資料,希望對大家以上幫助!