[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件
コメントする