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 に答える