我正在使用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;


这会将用户重定向到他们来自的页面,浏览器不会尝试恢复页面的先前状态。

10-05 21:06
查看更多