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

Phi*_*hil 1 javascript jquery laravel

我有 2 个按钮Submit,用于发布数据并从服务器获取验证错误,以及一个Cancel调用window.history.back().

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

Chrome 上,我需要单击CancelX 次才能返回上一页。

Mozilla 上,我只需要单击Cancel一次。

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

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

…
{{ 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>
Run Code Online (Sandbox Code Playgroud)

小智 5

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