2016-08-09 16 views
0

如何在Yii2渲染DOM已經存在的腳本如何排除渲染DOM現有的腳本在Yii2

什麼方法(渲染或renderAjax等),我必須使用排除渲染一個多(同排除)jquery,jquery.ui

我在我的頁面上有jquery.js。我(通過AJAX)加載到我的頁面模式註冊窗口,這需要jquery.js,並且它第二次拉動jquery.js。

而在結果中,我的頁面包含2個jquery.js庫。某處開始出現錯誤。我想通過remoeving解決它enother jquery.js

+0

你能提供一個你想要實現的例子嗎? – Bizley

+0

@Bizley,我的頁面上有'jquery.js'。我(通過ajax)加載到我的頁面模式註冊窗口,需要'jquery.js',並且它第二次拉取'jquery.js'。在結果中,我的頁面包含2個'jquery.js'庫。某處開始出現錯誤。我想通過刪除你誤解我的'jquery.js' – Link

回答

0

我不知道如果您使用AssetBundle類,但如果不是 - 你應該。

已經定義了yii\web\JqueryAsset與jquery.js你可以使用。 現在,您可以使用將取決於JqueryAsset的腳本創建AssetBundle(詳細瞭解Guide中的資產依賴關係)。無論此資產註冊多少次,JqueryAsset只會註冊一次。

在添加單個js文件時可以使用registerJsFile() - 在選項數組中,您可以使用'depends'鍵與JqueryAsset。

+0

來解決它。我已經在使用'yii \ web \ JqueryAsset'。但是我現在有什麼 - 我已經在我的瀏覽器中加載了js和css網頁。之後,我通過ajax加載我的另一個頁面,拉另一個'jquery.js'。所以我怎麼可以防止粘貼'jquery.js'到DOM當我已經有'jquery.js' – Link

+0

有沒有任何理由,你通過ajax拉**整個**頁面而不是你需要的一部分? – Bizley

+0

我不知道如何拉出我需要的一部分。但我找到了一個解決方案。 http://www.yiiframework.com/extension/yii2-resource-smart-load/ – Link