Safari 中的 Router.back() 按钮不起作用
Posted
技术标签:
【中文标题】Safari 中的 Router.back() 按钮不起作用【英文标题】:Router.back() button in safari not working 【发布时间】:2019-12-06 01:52:19 【问题描述】:我目前正在使用 next.js 样板制作一个移动 Web 应用程序。
我的后退按钮代码是这样的。
import Router from 'next/router'
<button>
<a href="#" onClick=() => Router.back()>
<span> some back button icon here </span>
</a>
</button>
我认为我的 html 代码没有任何问题,但是当单击该按钮时 safari 浏览器,没用。有人有同样的经历吗?或知道解决方案?或知道为什么会这样? 请分享 ;
仅供参考。 IE、Chrome、Firefox等主流浏览器都试过了,只有Safari不行。
【问题讨论】:
你试过没有“()=>”的onClick=Router.back()吗? Darrelk 感谢您的意见,但如果我这样做了,即使我不点击后退按钮,Router.back() 函数也会执行。 [link] (***.com/questions/1873290/…) 我认为这说明了核心问题。 【参考方案1】:这对我有用:
import Router from 'next/router'
...
<button>
<a href="#" onClick=(e) => e.preventDefault(); Router.back(); >
<span> some back button icon here </span>
</a>
</button>
有点晚了,但我相信有人需要它。
【讨论】:
以上是关于Safari 中的 Router.back() 按钮不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何检测 Vue $router.back() 是不是已完成,而不是历史堆栈为空的情况?