ホームページ > ウェブフロントエンド > jsチュートリアル > IE_javascript スキルにおける画像の無効な onload イベントの問題と解決策

IE_javascript スキルにおける画像の無効な onload イベントの問題と解決策

WBOY
リリース: 2016-05-16 16:45:38
オリジナル
1378 人が閲覧しました

Web 開発では、画像の幅と高さを取得するのは通常、画像の読み込み前には取得できません。画像自体の幅と高さは読み込み後にのみ取得できます。読み込みが完了しました。例:

コードをコピー コードは次のとおりです:

var img = 新しい Image();
img.src = "loading.gif";
img.onload = function(){
アラート ( img.width );
};

OK? このコードには何も問題はありませんが、IE にバグがあります。初めて開いたときは問題ありませんが、2 回目にこの方法を使用すると、IE が応答しなくなります。 、ページを更新しても同様です。 IE は画像をキャッシュするため、2 回目に読み込まれる画像はサーバーからアップロードされるのではなく、バッファから読み込まれます。
最初にonloadメソッドを書いてから、この画像のURLを指定すると正常になります。したがって、IE が onload イベントをトリガーしないのではなく、バッファーの読み込みが非常に速いため、img.onload が実行される前に onload イベントがすでにトリガーされているためです。それで大丈夫です。

コードをコピー コードは次のとおりです。

var img = new Image();
img .onload = function(){
アラート ( img.width );
};
img.src = "loading.gif";
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート