JS:跨浏览器兼容性 - 我的JS工作在chrome,而不是FF

时间:2012-10-26 22:08:58

标签: javascript ajax firefox jquery

我有一些可以在Chrome中运行的JS,但在FireFox中没有,而且我在JS方面缺乏经验,无法在没有任何帮助的情况下解决这个问题。

我在我的开发计算机 localhost从其部署位置(在我们的内部Intranet上)进行了测试...两种情况都是相同的结果。

在Chrome中,它完全符合我的预期。它异步捕获API中的JSON对象并为用户创建它 在FF中,它将用户带到目标API URL。没有“asynchronisity”

我可以做些什么调整来支持FF? (幸运的是,FF& Chm是我 需要 编码的唯一两个)。

非常感谢任何和所有帮助。

var submit_map_url = 'blahblah';  // dynamically generated by PHP
$('#mapper_form').submit(function() { 
    event.preventDefault();
    $.ajax({
        type:'POST',
        url: submit_map_url, 
        data:$('#mapper_form').serialize(),
        success: function(response) {
            var response = $.parseJSON(response);


            if(response.status == 'failure'){
                alert(response.message); 
            }else{
                var doRedirect = true;

                $('#splash').fadeIn(800, function() {  // fade in
                    window.setTimeout ( function() {  // start a timer for auto redirect
                        $('#splash').fadeOut(1000, function() {  // fade out
                            if(doRedirect) window.location = redirect_target;  // then redirect
                        }) }
                    , 4000);  // 
                 });

                $('#splash').click(function(){  // on click
                    doRedirect = false;  // cancel the redirect request
                     $(this).fadeOut(700,function() {});  // and fade out
                 });

                 $('#countdown').countdown({until: +5, format: 'S'});

            }  // end IF/ELSE
        }  // end success:
    });  // ajax
    return false;
});

1 个答案:

答案 0 :(得分:2)

event参数添加到提交功能。 $('#mapper_form').submit(function(event) {

当您在事件处理程序中时,Chrome会有一个全局事件对象window.event