歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 在Yii2中使用Pjax導致Yii2內聯腳本載入失敗的問題

在Yii2中使用Pjax導致Yii2內聯腳本載入失敗的問題

日期:2017/3/1 9:18:21   编辑:Linux編程

當我用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,使Pjax可以在Yii2良好的工作hiqdev/jquery-pjax

親測沒問題。

Copyright © Linux教程網 All Rights Reserved