在用户刷新页面之前更改URL搜索

时间:2018-07-09 21:43:39

标签: javascript reactjs

对于我的react应用程序,我想例如当前的URL是 https://localhost:3000.com?page=10

在用户手动刷新页面之前,我想将页码更改为1,以便它将用户重定向回页面1。

尝试使用window.onbeforeunload并添加eventListenerbeforeunload并与window.location.search = '?page=5'一起添加setTimeout(有时大多数情况下使用sabayon ~ # eselect java-vm list Available Java Virtual Machines: [1] icedtea-bin-8 [2] oracle-jdk-bin-1.8 [3] oracle-jre-bin-1.8 system-vm sabayon ~ # eselect java-vm set system 2 无效)

它们都不起作用。

1 个答案:

答案 0 :(得分:1)

如果您使用Express,则可以使用Express Session,设置会话变量req.session.sendToOnReload,然后用户在同一会话中重新加载页面,它将其重定向到该页面。

var url = require('url')

router.get('/', function(req, res) {
  if (req.session.sendToOnReload === undefined) {
    req.session.sendToOnReload = url.format({
      pathname: req.session.sendToOnReload,
      query: req.query
    });
    res.end();
  } else {
    res.redirect(req.session.sendToOnReload);
  }
}

在此代码中,首次加载页面时,它将设置用户在重新加载页面时将重定向到的页面。然后,用户第二次请求页面(通过重新加载)时,服务器会将其重定向到第一次加载页面时指定的页面。