Shadowboxのバグ ( IEで中央に表示されずにずれてしまう )

Shadowboxはcssでposition:fixed;にして
常に真ん中に表示されるようになっています。
しかしIE6ではfixedが使えないため
positionをabsoluteにして
スクロールやリサイズがあった度に
位置をしていています。


var centerVertically = function(){
var shadowbox = SL.get('shadowbox');
var scroll = document.documentElement.scrollTop;
var s_top = scroll + Math.round((SL.getViewportHeight() - (shadowbox.offsetHeight || 0)) / 2);
SL.setStyle(shadowbox, 'top', s_top + 'px');
};

上にあるのが該当部分のソースなのですが、
これでは十分ではありません。
compatModeによっては
スクロールの位置を取得できません。


var scroll = document.documentElement.scrollTop;

ここを


var scroll = (document.body.scrollTop || document.documentElement.scrollTop);

このように変更することで
ドキュメントのタイプ宣言にかかわらず
ボックスを画面の中央に表示させる事ができるようになります。
shadowbox.jsに記述されている


document.documentElement.scrollTop
という部分は全て

(document.body.scrollTop || document.documentElement.scrollTop)
と書き換えてください。