3

提供されたHTTPステータスコードに基づいて画像が読み込まれなかった理由を特定できるスクリプトが必要です。

画像とオブジェクトのonErrorイベントを認識していますが、エラーコードを渡しません。したがって、画像のソースが壊れている場合やタイムアウトが発生した場合も、同じ方法で処理されます。

私が欲しいのは、エラーコードを判別し、それに応じて動作できるスクリプトを用意することです。例えば:

  • 404-画像を事前定義された画像に置き換えます
  • 403-コールバック関数を使用して管理者に通知する
  • 504-リロードしてみてください

私はグーグルでいくつかの検索をしました、しかし私はonErrorイベント以外に不足しました。

何か案は?

4

1 に答える 1

1

私が考えることができる唯一のことは、失敗時にxhrリクエストに移動し、Asset.imageがロードをより処理することです。

new Asset.image('foo.jpg', {
    onload: function() {
        someel.adopt(this);
    },
    onerror: function() {
        new Request({
            url: this.get('src'),
            onComplete: function() {
                console.log(this.status); // 404
            }
        }).get();
    }

});

http://jsfiddle.net/dimitar/2hwej/

2つのリクエストを意味するため、正確には最大ではありません。これを回避するには、まず画像の読み込みをxhrリクエストに入れてから、base64データを使用して出力などを行います。

于 2012-05-21T09:07:43.873 に答える