我应该在哪里使用 XSP.endAjaxLoading()?
Where should I use XSP.endAjaxLoading()?
我的 Xpage 加载时间过长。所以客户让我做一个loading indicator。
我搜索并找到 XSP.startAjaxLoading()
,我将其放入自定义控件的 onClientLoad 事件中。
但是现在我不知道应该把 XSP.endAjaxLoading()
放在哪里才能让加载屏幕消失。
我尝试在 afterRenderResponse 和 beforeRenderResponse 中使用:view.postScript("XSP.endAjaxLoading()")
,因为这个命令是 CSJS,但它不起作用。
提前致谢。
我想你想把它放在 onComplete 事件中。这可能很难找到。您通常需要使用大纲控件来找到它。
我在 NotesIn9 上有一个视频演示,其中有一个例子。
您的尝试 (view.postscript
) 仅适用于 full/partial 更新,不适用于页面加载。
您已经使用了 onClientLoad
- 它会在您的页面加载完成时执行。我猜你会在一段时间后得到 ajax 动画,而且它不会停止。
您应该制作预加载屏幕 - 非常简单的 XPage,它启动动画并且不关心将其关闭。在 onClientLoad
事件中重定向到您的慢速 XPage。这将丢弃动画。
我强烈推荐使用待机对话框 XSnippet https://openntf.org/XSnippets.nsf/snippet.xsp?id=standby-dialog-custom-control。我将它用作所有 XPage 应用程序的标准。
我用这个答案作为解决方案:
几天前我已经看到它,让我三思而后行的是使用它我应该知道我的 XPages 有什么延迟。我 运行 进行了一些测试并发现了什么,它是对 afterRestoreView 事件中方法的调用,然后我将其迁移到 onClientLoad 事件并使用上面引用的答案中的解决方案。
但是我担心我必须密切关注它,所以如果有人添加了一些代码延迟了 XPages 的另一个事件之一,我必须再次移动它,当然,如果可能的话,如果不可能,我会想出一些不同的东西。
感谢所有的回答和评论。
我的 Xpage 加载时间过长。所以客户让我做一个loading indicator。
我搜索并找到 XSP.startAjaxLoading()
,我将其放入自定义控件的 onClientLoad 事件中。
但是现在我不知道应该把 XSP.endAjaxLoading()
放在哪里才能让加载屏幕消失。
我尝试在 afterRenderResponse 和 beforeRenderResponse 中使用:view.postScript("XSP.endAjaxLoading()")
,因为这个命令是 CSJS,但它不起作用。
提前致谢。
我想你想把它放在 onComplete 事件中。这可能很难找到。您通常需要使用大纲控件来找到它。
我在 NotesIn9 上有一个视频演示,其中有一个例子。
您的尝试 (view.postscript
) 仅适用于 full/partial 更新,不适用于页面加载。
您已经使用了 onClientLoad
- 它会在您的页面加载完成时执行。我猜你会在一段时间后得到 ajax 动画,而且它不会停止。
您应该制作预加载屏幕 - 非常简单的 XPage,它启动动画并且不关心将其关闭。在 onClientLoad
事件中重定向到您的慢速 XPage。这将丢弃动画。
我强烈推荐使用待机对话框 XSnippet https://openntf.org/XSnippets.nsf/snippet.xsp?id=standby-dialog-custom-control。我将它用作所有 XPage 应用程序的标准。
我用这个答案作为解决方案:
几天前我已经看到它,让我三思而后行的是使用它我应该知道我的 XPages 有什么延迟。我 运行 进行了一些测试并发现了什么,它是对 afterRestoreView 事件中方法的调用,然后我将其迁移到 onClientLoad 事件并使用上面引用的答案中的解决方案。
但是我担心我必须密切关注它,所以如果有人添加了一些代码延迟了 XPages 的另一个事件之一,我必须再次移动它,当然,如果可能的话,如果不可能,我会想出一些不同的东西。
感谢所有的回答和评论。