【问题标题】:How to force mobile browsers to reload the page when the application is reopened重新打开应用程序时如何强制移动浏览器重新加载页面
【发布时间】:2017-10-22 10:57:04
【问题描述】:

您可能知道,在 chrome 或 firefox mobile 中,当您访问网页时,如果您关闭浏览器然后再次打开,该应用程序所做的第一件事就是再次打开该网页,但它会打开您使用的版本关闭时离开了,因此,例如,如果您正在观看一个有 4 个帖子并关闭的论坛主题,那么下次打开时,即使有新帖子,您也会看到相同的主题有相同的 4 个帖子,这是唯一的方法知道正在重新加载页面。

我遇到了问题,因为我的会话变量已过期,但之前版本的页面已打开,然后由于未定义会话变量,我收到大量通知。

我需要找到一种方法来强制移动浏览器打开我的页面的新实例,因此如果会话变量已经过期,用户将被重定向到正确的页面。

提前致谢。

【问题讨论】:

  • 问之前有没有试过?有代码示例吗?您还提到了哪些“大量错误”?
  • 听起来你需要实现一些基本的错误处理。
  • @Randall 实际上并不是错误,而是注意到会话变量未定义,但由于我在 OP 中提到的内容,这些都是误报
  • “如果您关闭浏览器然后再次打开,该应用要做的第一件事就是再次打开该网页” - Chrome 不会在我的移动设备上执行此操作,它会恢复到默认值。您确定您实际上是在关闭应用程序,而不是在切换到其他应用程序时让它在后台运行吗?
  • @nnnnnn 例如浏览维基百科,然后退出应用程序并滑动关闭 chrome(如果使用 android),然后再次打开 chrome,chrome 会做的第一件事就是加载维基百科,至少这是它和我的一样。

标签: javascript php html


【解决方案1】:

如果您使用像 axios 这样的库,您可以处理由拦截器的无效会话引起的错误,并以编程方式触发页面重新加载。

axios.interceptors.response.use(function (response) {
  return response;
}, function(error) (
  if(error.statusCode === 401)
    window.location.reload(); //or whatever
  return error;
});

【讨论】:

  • 这不是我要的,我的应用程序已经有错误处理
猜你喜欢
  • 1970-01-01
  • 2012-11-04
  • 1970-01-01
  • 2020-05-02
  • 2011-12-01
  • 2015-01-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多