问题描述
情况
用户在我们的网站上注册后,他们会收到一封电子邮件,其中包含指向我们主页的链接以及验证令牌。一旦用户点击链接,进入页面并看到欢迎模式。令牌会从 url 和历史记录中以静默方式删除,而不会刷新页面。这可以避免用户在按下后退按钮或刷新页面时触发“令牌已验证”消息。当用户关闭欢迎模式时,页面也会刷新以登录。
我们使用 history.replaceState({},pageTitle,'/')
执行此操作,根据 Mozilla's documentation,所有浏览器都应支持此功能。
问题
移动和桌面上的所有浏览器都遵循此行为,但移动上的 Chrome 除外,它完全忽略该功能并将令牌留在 url 中。这意味着当用户关闭欢迎模式并刷新页面以登录时,他们会看到“令牌已验证”消息。
我通过在关闭欢迎模式后将用户“重定向”到没有令牌的相同网址而不是重新加载页面来逃避这一点。
问题
移动设备上的 Chrome 浏览器是否支持 history.replaceState()
并且我在代码中做错了什么,还是 Chrome 不支持移动设备上的此 API?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)