前回のコラムでは 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ということになりました。
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"を指定する方法に変更となりました。






