有没有办法在用户导航到另一个页面时保持“Loading ...”动画运行?

时间:2013-02-09 12:54:36

标签: jquery html cross-browser

这个问题有点棘手,因为我不完全知道它属于哪个类别/语言/技术/领域。

偶尔我们会将用户转发给另一个表单,并提交和处理。表单提交是通过jQuery Form plugin.ajaxSubmit()调用完成的,以便为用户提供反馈,如果发生任何错误,则可以顺利地纠正错误。

$('#form').submit(function(e) {
    e.preventDefault();
    var loading = $('<img src="loading.gif" />');
    $('#form').append(loading);
    $('#form').ajaxSubmit({
        dataType: 'json',
        success: function(d) {
            if (d.errors) {
                loading.remove();
                // Handle the errors
            } else {
                // Forward the user to the next address, given by the server
                document.location = d.forward_to;
            }
        }
    });
});

当用户转到下一页时,loading.gif动画停止。这会使用户感到困惑。

我可以确认这至少与Firefox和Chrome有关。 有没有办法让用户导航到下一页时继续加载指示器(在下一页渲染之前)?

停止动画可能是(有意或无意)浏览器应用程序本身的行为,因此Web开发人员完全无法控制。但是,我找不到任何确认它的材料,所以仍然在寻找一些解决方案 - 或其他方法来做指标。

1 个答案:

答案 0 :(得分:1)

Beetroot-Beetroot在问题评论中回答了我的问题:您无法控制此级别的浏览器行为。