0から目指すWebマスター Web制作に関する備忘録
検索

JavaScript

xhtml strictで新規ウィンドウを開きたい場合

xhtml1.1 strictでは、新規ウィンドウを開くtarget属性を推奨していません。新規ウィンドウを立ち上げるべきかどうかはユーザーが決めるべきだという理由からだそうです。

targetなしの<a>とは別に新規ウィンドウが開くためのアイコンを作り2つ並べる。

Javascriptソース
function newWinIcon(URL){
window.open(URL,"","");
}

xhtml strictソース
<a href="任意のURL">テキスト</a>
<a href="javascript:void(0);" onclick="newWinIcon(‘任意のURL’); return false;">
<img alt="新しいウィンドウで開く" />
</a>

問題は、これだとJavascriptを無効にする設定のとき画像をクリックしても何もアクションが起こらないこと。リンクの数だけ外部JSを用意すれば実装できないことはないが、それだけ労力を要してしまう。

ただ、新規ウィンドウで開く方だけを用意したいのであれば、strictにこだわらずTransitionalを使用し、target属性を利用したほうがよさそうです。