2

我的 xPage 中有几个自定义控件,每个自定义控件都包含客户端 JavaScript 资源。

我注意到,如果我将自定义控件添加到我的 xpage 并将渲染设置为 false(或 true),则在我加载我的 xpage 时加载 javascript 资源,而不是在自定义控件更改为 true 时加载。我想这是可以的行为,就好像我将渲染设置为 false 加载的属性仍然为 true。(我没有通过将加载属性设置为 false/true 来测试这个)

如果我改为使用 extLib 中的动态内容控件,则在加载 xpage 时不会加载自定义控件或 javascript 资源,并且如果我从 xpage 触发自定义控件的加载,则自定义控件会很好地加载,但 javascript 资源是没有载入。

我的猜测是这两个场景都是相关的。所有 javascript 资源只有在加载 xpage 时才加载到 xpage 中。(即我找不到使用部分刷新加载javascript资源的方法)

所以......无论我是否使用 extlib,有没有办法在使用部分刷新加载 xpages 后加载位于自定义控件中的 javascript 资源。我尝试了使用 onClientLoad 事件的不同方法,但没有设法让它工作。

谢谢托马斯

4

1 回答 1

1

也许您可以通过在 DOM 中插入 JS 标签来动态加载 JS。例如 dojo.io.script.get 在内部执行此操作。

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

您可以在 XSP 部分刷新调用的 onComplete 回调中触发它。

于 2012-01-27T11:26:16.780 回答