【问题标题】:HTML5 reload page when moving back后退时 HTML5 重新加载页面
【发布时间】:2014-04-03 11:00:38
【问题描述】:

我正在使用 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,例如使用时间。因此,在我的情况下,我想将 -1 条目的 URL 从历史缓冲区中拉出并添加类似 ?123456 的内容(每次都会更改),然后调用该页面。是不是一个好主意、好的编码标准等等?

【问题讨论】:

  • 您确定“结束”事件正在触发吗?将其登录到控制台以确保(在 history.back 之前添加 console.log('event failed'))
  • 嗯,它会倒退,如果我把那句话拿出来,它就不会倒退,所以是的,我确信它正在触发。它可以返回,只是不会重新加载上一页。 -- 比尔
  • 对不起,我看错了你的问题。您是否尝试过 history.back() 后跟 Window.location.reload();
  • 是的,我以前试过,刚才又试了一次。没有快乐。
  • 这似乎是一个重复的问题。请在此处查看答案:stackoverflow.com/a/35565785/5076414

标签: javascript html refresh reload browser-history


【解决方案1】:

正确的解决方案是设置您希望向用户推荐的 URL。

如果您无法做到这一点,并回答您的问题,您可以尝试使用 location.href 将用户重定向到引荐来源页面:

location.href = document.referrer;

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

【讨论】:

  • 这并没有返回到调用视频页面的 Moodle 页面。相反,它给了我一个目录列表。
  • 哦,设置我想要返回的 URL 是不可行的,除非我将它从历史缓冲区中拉出。如果我使用历史缓冲区中的 URL 调用 location.href,它是重新加载页面,还是只使用已经缓存的内容?
  • 好吧,我尝试了通过硬编码(目前,在此测试期间)将 URL 返回到该页面,并且它似乎有效。我会正确编码,如果有效,我会将其标记为“已回答”。
  • 布鲁诺-你的回答几乎是正确的。我尝试使用该语句,但它不起作用。我回去调查,发现 document.referrer 在那个时候没有价值。我将该值保存在我的 onload 事件中(作为 myReferrer),然后在 location.href 中使用该值,并且有效。非常感谢您的正确答案。我只是没有坚持下去(并付出了代价)。
  • 谢谢,直到dom满载才知道没有填满,下次要用的时候再考虑。
【解决方案2】:

也许试试Window.history.back() 而不仅仅是历史。

【讨论】:

  • 用“windows.history.back(1)”替换“'history.back(1)”会导致它不返回上一页。同样,将“window.location.reload(history.go(-1))”更改为“window.location.reload(windows.history.go(-1))”不会返回上一页。返回上一页在这里不是问题,因为它的那部分工作得很好。它只是不刷新,所以用户需要 F5。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-13
  • 1970-01-01
  • 2014-02-17
  • 2014-03-30
  • 2016-02-24
相关资源
最近更新 更多