みなさん、こんにちは。画像の幅と高さを計算し、クレジット/キャプションで使用するために画像の右下にテキスト文字列を適切に配置するスクリプトを書くことができました。
IE8 以外のすべてのブラウザーで完全に生成、計算、表示することができました。なんらかの理由で、IE8 で画面から吹き飛ばされてしまい、IE8 を使用しているときに計算用の条件付き関数を使用できるように JavaScript を改善する理由がわかりません。
何かアドバイス?
http://jsfiddle.net/jodriscoll/u26vZ/
$(function ($) {
// jQuery is passed as the first arg $
$('.img-right img,.img-left img').bind('load', function () {
var $img = $(this),
imgHeight = $img.height(),
imgWidth = $img.width();
$img.siblings('p').width(imgWidth);
$img.siblings('span').width(imgHeight);
$img.siblings('.credit').css({
left: imgWidth + 6,
top: imgHeight - 10
});
}).each(function () {
// we need to force the "load" event to fire if it was already complete:
// technique taken from https://gist.github.com/268257
if (this.complete || this.complete === undefined) {
var src = this.src;
// webkit hack from http://groups.google.com/group/jquery-dev/browse_thread/thread/eee6ab7b2da50e1f
// data uri bypasses webkit log warning
this.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";
this.src = src;
}
});
});