我正在使用Moodle 2.6,但这并不是一个真正的Moodle问题。活动定义为URL。该URL只是一个定制的视频播放器。视频结束后,将返回到Moodle课程页面。一切正常,但是Moodle页面在使用F5刷新/重新加载页面之前不会反映出该活动已经完成。这是我用来检测视频结尾的JavaScript代码:
video1.addEventListener("ended", function() {
history.back(1);
});
我试过使用这个:
window.location.reload(history.go(-1));
代替了history.back(1),认为这条新线充满了希望,但没有喜悦。我也尝试过其他方法,例如将“ back”更改为“ go”(值为负数),但功能似乎相同。
这似乎应该是一件简单的事情,但是我对这方面不是专家,所以我很沮丧。如何使浏览器返回页面然后重新加载?我主要在PC上使用IE,在iPad上使用Safari。
编辑,其他想法
当我研究此问题时,一个建议是在URL的末尾添加一个唯一的ID,例如使用时间。因此,就我而言,我想将URL从历史记录缓冲区中拉出-1条目,并添加?123456之类的内容(每次都会更改),然后调用该页面。这样的想法,编码标准等是否合适?
最佳答案
正确的解决方案是设置您要引荐用户使用的URL。
如果这对您来说不可行,请回答您的问题,您可以尝试使用location.href将用户重定向到引荐来源网页:
location.href = document.referrer;
这会将用户重定向到他们来自的页面,浏览器不会尝试恢复页面的先前状态。