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

时间:2014-12-30 20:53:38

标签: javascript jquery laravel

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

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

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

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

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

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

…
{{ 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>

1 个答案:

答案 0 :(得分:3)

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