window.history.back() 在 Chrome 中无法正常工作,在 Mozilla 中工作

window.history.back() not working right in Chrome, works in Mozilla

本文关键字:工作 history Mozilla 常工作 back Chrome window      更新时间:2023-09-26

我有 2 个按钮提交,它发布数据并从服务器获取验证错误,还有一个取消按钮调用window.history.back()

我点击提交 X 次(由于服务器的验证错误,帖子出现在/停留在页面上)

Chrome上,我需要单击"取消X次"才能返回上一页。

Mozilla上,我只需要单击"取消"一次。

我猜Chrome在历史记录中计算POST请求/直接回退,但Mozilla没有。我不熟悉它是如何工作的或jquery。我能做些什么来解决这个问题吗?

编辑:按照建议对链接中的网址进行硬编码。稍后会回来尝试,看看我是否可以通过将引用页面 url 发送到编辑表单以加载到"取消"按钮来做到这一点,如果没有人打败我的话。

…
{{ Form::submit('Create', array('class'=>'btn btn-info')) }}
    <a href="{{ URL::previous() }}" class="back btn btn-danger">Cancel</a>
{{ Form::close() }}
<script type="text/javascript">
    $(document).ready(function() {
        $('a.back').click(function(e) {
            e.preventDefault();
            window.history.back();
            return false;
        });
    });
    …
</script>

如果您需要再次使用,安全的跨浏览器选项是使用 history.go(-1);