MTにSyntaxHighlighterを導入する2


先日のSyntaxHighlighter導入記事のタイトルも変更し、統一しました。


先日導入したSyntaxHighlighterですが、IEでソースコードの領域がなぜか2つ表示されてしまう問題が発生していました。
SyntaxHighlighterのバグなのかと他のサイトをIEで見てみてもおかしくはなかったので、原因はうちのサイト側なんだろうと思ってみてみたところ、どうもonLoadで呼び出すと2枚出力されることが判明。
そのあとうんたらかんたら色々探してみた結果、悪さをしていたのは『mt.js』でした。

mt.jsのファイルを開くと、かなり下の方に

window.onload();
window.onload = function() {};
という部分があるのですが、この処理を行った際にIEではonLoad処理が2回走っていたようです。
Firefoxでは2つで1セットのようなのですが、IEは単体ずつで動くようなのでどっちが正しいのか判らないからとりあえず下を活かす方向で以下のように修正。

IE='\v'=='v'
if (!IE) window.onload();
window.onload = function() {};
これで正しく出力されるようになりました。
またおかしかったりしたら修正しようと思います。

コメントを残す