我如何在不刷新页面的情况下显示活动的完成状态?

问题描述 投票:0回答:1

课程中的活动在右侧具有复选框,可以在完成活动时在其上打勾,或者如果满足某些条件,平台会自动将其选中。设置为自动时,网页需要刷新才能显示对每个已完成活动的检查。这带来了一个问题,即如果活动是设置为在弹出视频中播放的视频(在我的平台上就是这样),那么用户只有在重新加载所述页面后才能知道他们已经完成了活动。

我阅读过的所有文档都表明,无法通过Moodle的功能来完成此任务,这是系统的局限性。不过,我想问一问这里是否有人对如何解决这个问题有想法。

我的一些想法是简单地将所有视频设置为嵌入,这意味着用户将不得不在避免问题的页面之间导航。另一个方法是将平台设置为刷新每个设置的时间,但这显然不是一个很好的解决方案。

感谢任何帮助。

moodle
1个回答
0
投票

如果必须快速又脏乱地写代码,我会写一些自定义JS,在打开弹出窗口时,它通过ajax请求当前页面的更新版本(针对当前URL获取),并用更新后的代码替换特定的检查一个通过ajax内容替换和一些jquery选择器魔术,然后我将确保挂在那些替换检查上的事件处理程序仍在工作,否则我将重新设置它们。

另一种更优雅的方法是编写一个Web服务(在Moodle中称为外部函数),该服务在打开弹出窗口后(一次或定期)检查活动是否完成,然后仅替换检查代表更新后的完成状态(然后再次查看检查事件处理程序在替换后是否仍在工作)。

© www.soinside.com 2019 - 2024. All rights reserved.