2012-01-27 41 views
2

我的xPage中有幾個自定義控件,每個自定義控件都包含客戶端JavaScript資源。在xPages的自定義控件中加載javascript資源部分刷新

我注意到,如果我將自定義控件添加到我的xpages並將呈現設置爲false(或true),則當我加載我的xpage而不是自定義控件更改爲true時,會加載javascript resorces。我想這是好的行爲,因爲如果我設置呈現爲false加載的屬性仍然是true。 (我沒有通過將加載屬性設置爲false/true來測試)

如果我在extLib中使用動態內容控件,則在加載xpage時未加載自定義控件或javascript資源,並且如果觸發從我的xpage自定義控件加載自定義控件很好地加載,但JavaScript資源不加載英寸

我的猜測是,這兩個scenarious是相關的。所有的javascript資源只在加載xpage時加載到xpage中。 (即我找不到一種方法來加載JavaScript資源使用局部刷新)

所以...無論我是否使用extlib或不,有沒有一種方法來加載位於自定義控件後的JavaScript資源xpages已經使用局部刷新加載。我嘗試了使用onClientLoad事件的不同方式,但沒有設法讓它工作。

感謝 托馬斯

+0

爲什麼不能只是一直加載js?然後可以在部分刷新後調用這些函數。你只關心下載的大小嗎? – 2012-01-27 19:28:44

+0

謝謝大家迴應這個問題。我在互聯網上發現了一些JavaScript,但是這顯然也是非xPages應用程序執行ajax調用的問題。但是,我正在與我的項目中的另一個解決方案,所以這不再重要 – 2012-01-28 19:10:05

回答

1

也許你可以動態地插入DOM中的JS代碼加載JS。例如dojo.io.script.get在內部執行此操作。

http://dojotoolkit.org/reference-guide/dojo/io/script.html

你可以在XSP局部刷新調用的onComplete回調觸發此。

+0

任何想法如何從這個調用得到onComplete回調:XSP.showContent(「#{id:dynC}」,「cc1」 ); – 2012-01-27 12:41:22

+0

如果使用從蒂姆斯職位局部刷新的例子,你可以得到他再打 XSP.partialRefreshGet( 「#{ID:DIV1}」,{ 的onComplete:函數(){ XSP.partialRefreshGet(「#{ XSP.partialRefreshGet(「#{id:div3}」,{ } onComplete:function(){ XSP.partialRefreshGet(「#{id:div4}」) ; } }); } }); } }); – 2012-01-27 13:19:11

相關問題