私は次のことを行うライブラリを作成しようとしています。
ライブラリがヘッドに含まれている場合、HTMLImageElement プロトタイプが変更され、ユーザーがたまたま HTML で使用したイメージ タグ、または JavaScript で動的に作成したイメージ タグが、ライブラリで定義されたデフォルトの onerror 関数を持つようになります。
この結果、ユーザーの画像のいずれかが不適切な URL を指しているために読み込みに失敗した場合、私のライブラリはそれを適切に処理します。
私は実験として次のことを試みています、
var img = document.createElement('img');
img.__proto__.onerror = function() {
alert('hi');
};
document.body.innerHTML = '<img id="foo" src="bar.png"/>'
ファイル bar.png が存在せず、機能しません。
ただし、次のようなことをすると
document.body.innerHTML = '<img id="foo" src="bar.png" ' +
'onerror="this.src = MODIT.getImage(\'blackTile\').src;"/>';
それはうまくいきます。ここで MODIT.getImage() は画像要素を返す関数です。ここでこのコードを試すことができます: https://mod.it/ciR_BxqJ/
私がやろうとしていることは可能ですか?または、すべての 403 GET エラーをグローバルにキャッチし、何らかの方法で JavaScript で処理する方法はありますか?
ありがとう!