2012-01-27 18 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

相关问题