前回のコラムでは getElementsByTagName を使って、class="blank" を拾う方法を試してみたが、FirefoxやIE6ではうまく動いたんだけどSafariではうまく動きませんでした。

今回も同じ getElementsByTagName なんだけど、classではなくrel="external"を使う方法でやってみます。window.open()ではなく、すべてのaタグのrel="external"と書いてあるソースに対して、_blankを設定する。それって、生成されたソースの中ではtarget="_blank"に汚染されてるじゃん?っていうのは置いといて。とりあえずxhtmlは綺麗になってるからいいのかな。

よって、iwdd.netのサイトで外部ウィンドウ(target="_blank")をしたいときは、aタグに rel="external" を指定すればOKということになりました。

参考URL
New-Window Links in a Standards-Compliant World
投稿日: 03/20
投稿者: すずりょ

iwdd.net のサイトは xhtml1.0 strict 基準なので、aタグで別ウィンドウを開くための target="_blank" をすると valid ではなくなってしまう。マークアップと見た目と機能は分けるということで、javascriptでblankウィンドウを開くようにするためのメモ。

外部ファイルにした openblankwindow.js をnucleusのhead.incで読み込んでおり、 getElementsByTagName でaタグの class="blank" を探して window.open()するようになっています。

よって各アイテム内で別ウィンドウで開きたい時は、aタグにclass="blank"と指定すればOKです。

target_blankをjavascript系で実装する参考URL
target="_blank"に関する議論
target="_blank" を使わないで新しいウィンドウでリンクを開く方法
getElementsByTagName で target_blank

追記:こちらの方法はsafariではうまく動かないのので、iwdd.netではrel="external"を指定する方法に変更となりました。

投稿日: 03/19
投稿者: すずりょ
«Prev | | 1 || Next»