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

Moodle 如何在不刷新页面的情况下显示活动的完成状态?,moodle,Moodle,课程中的活动在右侧有复选框,可以在完成活动时勾选,或者在满足某些条件时平台会自动勾选。当设置为“自动”时,网页需要刷新才能显示对每个已完成活动的检查。这就产生了一个问题,如果一个活动是一个要在弹出式视频中播放的视频集(我的平台就是这样),那么用户在重新加载所述页面之前不会知道他们已经完成了一个活动 我读过的所有文档都表明,Moodle的功能无法实现这一点,这是系统的一个限制。不过,我还是想问一下,这里是否有人知道如何解决这个问题 我的一些想法是简单地将所有视频设置为嵌入,这意味着用户必须在页面之

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

我读过的所有文档都表明,Moodle的功能无法实现这一点,这是系统的一个限制。不过,我还是想问一下,这里是否有人知道如何解决这个问题

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


非常感谢您的帮助。

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

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