0

我的 ajax 代码在 opera 中不起作用,但是,它适用于所有其他主要浏览器:

$(function() {  
$("a").on('click', function(e) {
    var href = $(this).attr('href');
    $.ajaxSetup({
        beforeSend:function(xhr) { $('div.imagePlace').animate({height:      '10px'}); },
    });
    $.ajax();
    e.preventDefault();

    setTimeout(function() {
    $.ajax({
        url: href,
        dataType: "html",
        success:function(result) {
            $('.imagePlace').html(result)
            $('.imagePlace').animate({height: '500px'})
        }
    });
        }, 400);
});


    });

谁能看到歌剧中的问题是什么?提前致谢!

4

1 回答 1

0

Opera 内置了一个名为 Dragonfly 的调试工具。进入工具菜单 -> 高级 ->Opera Dragonfly 如果没有文件菜单栏,点击菜单 -> 页面 -> 开发者工具 -> 打开 Opera Dragonfly

打开它后(在您正在处理的页面上打开它),单击“脚本”选项卡(它可能会要求您刷新页面,执行此操作)并下拉到您的外部 js 文件。找到代码后,您可以$.ajax()通过单击左侧的行号在该行上设置断点。现在,触发您的代码,您会看到它会在该 JavaScript 行上中断。然后,您可以使用检查选项卡(底部、中间)来确保所有变量都设置正确。您还可以单步调试和调试 JavaScript。

您要做的另一件事是添加一个错误函数,如下所示:

$(function() {  
$("a").on('click', function(e) {
    var href = $(this).attr('href');
    $.ajaxSetup({
        beforeSend:function(xhr) { $('div.imagePlace').animate({height:      '10px'}); },
    });
    e.preventDefault();
    setTimeout(function() {
    $.ajax({
        url: href,
        dataType: "html",
        success:function(result) {
            $('.imagePlace').html(result)
            $('.imagePlace').animate({height: '500px'})
        }
        error: function(xhr, textStatus, errorThrown) {
        alert(errorThrown);
        }
    });
        }, 400);
});

});

看看这是否为您提供了更多信息。

于 2012-08-22T13:10:55.393 回答