リンク先を別ウィンドウ表示にするか選択できるようにするには
2009/10/23
xhtmlがとっくの昔にtarget属性を非推奨・廃止としていることに恥ずかしながら今頃気づいてしまった。ところが、どのサイトでもいまだtarget=”_blank”を当たり前のように使っているのだ。それはさておき、別にWC3に忠誠を示すわけではないけれど、すぐさま自サイトからすべてのtarget=”_blank”を抹消することに。しかし一方で、別ウィンドウでリンクを開けなくなると、何かと困る人も出てくるものである。なので、リンクページのみ、別ウィンドウで表示するか選べるようにした。下記の簡単なJavaScriptコードを書くだけなので、よろしければぜひ利用してみてください。(注:Prototype依存です)
....... .......
まずこのようなHTMLを作り、</body>の前などに次のようなJavaScriptをスクリプトを追加します。注意点として、このスクリプトはPrototype.jsに依存していて、Prototype.jsを読み込んでないページではエラーとなるので注意してください。
new Field.Observer('open_window', 0.3, function() { if ($F('open_window')) { $$('a').each(function(value) { //'a'の部分はそのままだとページ全体のリンクに適用されてしまいます。 //そのため、liタグ内のリンクに限定したいならば'li a'、 //pタグ内のリンクに限定するならば'p a'などと変更する必要があります。 value.writeAttribute('target', '_blank'); }); } else { $$('a').each(function(value) { value.writeAttribute('target', '_self'); }); } });