【问题标题】:How to handle a back button click in a SPA?如何处理 SPA 中的后退按钮单击?
【发布时间】:2020-08-26 14:20:34
【问题描述】:

我正在使用 NextJS 开发一个 SPA,它仅由一页组成。没有任何next/link 或路由器使用情况。用户将访问该页面,并且所有事情都将在 DOM 中发生,包括所有按钮单击、视图导航等。

我现在面临的问题是,如果用户在任何时候点击后退按钮......好吧,他们会离开网站。

我很想听听任何人对此提出的任何建议。

【问题讨论】:

  • 很多客户端 SPA 使用基于哈希的路由,默认情况下,这可以让您免受默认浏览器历史记录的影响。
  • 在您的网站中,如果您的用户习惯性地使用后退按钮,那么最好使用客户端路由来提高用户体验
  • 您在使用 azure 门户吗? :)
  • @KennyJohnJacob 是的,我通常使用 CSR 编码,希望通过 Nextjs 学习新的东西
  • 如果你使用 next.js 而没有 next.js 路由,那么使用 next.js 是没有意义的。

标签: reactjs single-page-application next.js


【解决方案1】:

beforeunload 可以帮助您。

例子:

window.onbeforeunload = function(){
  return ''
}

【讨论】:

  • 抛出一些错误?如果问题是window is not defined,请参阅this question
猜你喜欢
  • 1970-01-01
  • 2015-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-15
  • 2012-01-27
  • 1970-01-01
  • 2012-01-24
相关资源
最近更新 更多