2009年1月14日

[web] Event.observe と window.onload

いや、すっかり罠にはまってました。前回のエントリで紹介した、

target="_blank"を使わずに新しいウインドウを開く方法

だけど、これがメインページからは機能するのに個別記事では機能しない。
何でだろ?と調べてみたら小粋空間さんのテンプレートでは mt.cgi の中に window.onload の記述があって、アーカイブや個別記事で先に動いちゃってるみたいなんです。

window.onload は1ページに1回しか機能しないって事なんで、代替案として prototype.js の Event.observe を使ってみました。

前回紹介した target="_blank"を使わずに、rel="external"、rel="external nofollow"で新しいウィンドウを開く方法海外のSEO対策・SEOツールをわかりやすく解説するブログ さん)で紹介されている js ファイルの最後を

window.onload=externalLinks;

から

Event.observe(window,'load', externalLinks, false);

に変更、prototype.js をヘッダー内に追加する事も忘れずに。

<script type="text/javascript" src="/パス/prototype.js">

これで無事個別記事でも動きました。
いや、これ当然の事なんだろうけど、すっかり見落としてました。
MT で window.load 指定して動かなかった方はチェックしてみてください。

関連する記事:6件

トラックバックURL

このエントリーのトラックバックURL:
http://www.hvc-001.com/mt/mt-tb.cgi/16

コメントする