2010年1月27日 (水)
勝手にウィンドウを開くんじゃない!
カテゴリ: ウェブデザイン | コメント (0) | トラックバック (0)
Google の Custom Search Element はインラインで(画面遷移をせずに)検索結果を表示してくれるので、サイト内検索にうってつけです。
CSS に “position: absolute” で指定しとけば自サイトのレイアウトが崩れることもなく、Google からコードをコピペするだけで誰でも簡単に使える優れもの。
……なんですが、微妙に欠点が。
検索結果をクリックすると、別ウィンドウ(またはタブ)にリンクしちゃうんですよね。
私はいわゆる「<a href=”http://~” target=”_blank”>~</a>」でリンク貼るのが嫌いな人なんで、自サイト内だろうがお友達サイトへの外部リンクだろうが、すべからく同一ウィンドウ内だけで遷移するようにしとります。
そんなわけで、結局一週間でノーマル版(普通に Google で検索するのと同じ画面)に戻しちゃいました。ノーマル版なら別ウィンドウ開かないので。
他人のサイトでやってる分には気にもとめないくせに、自サイト内で別ウィンドウリンクがあると異常に気になるのよ。
たとえサイト内検索なんざ滅多に使う人はいないと知っていても!(笑)
そりゃタブブラウザならマウスの中ボタン一発ですぐ閉じられますが、あちこちのページで target=”_blank” をやられたら、たちまちタブまみれになっちゃいますがな。
てゆーかタブ開くのは自動でも、閉じるのは手動なんスよ。ぶっちゃけ何回もやってるとめんどいです。
新しいタブや別ウィンドウで開くかどうかはユーザーが決めるべきであって、サイト側でその選択権を勝手に奪うべきではない、と思うんですよボク。
もっとも、ノーマル版に戻したのは CSE 版だと XHTML 1.1 の仕様から外れてしまうってのが最大の理由だったりするんですが。(笑)
application/xhtml+xml の Content-type を指定すると、ド派手にエラーが吐き出されました。とほほ。
text/html にすると一発で通りましたが、XHTML 1.1 の Content-type を text/html にするのは、厳密には間違いなのですよ。
ちなみに IE8 はいまだに text/html 以外は受け付けてくれません。ゆえに間違っていようがなんだろうが、IE にだけは text/html を指定してるこのサイト。
(Firefox などのちゃんと application/xhtml+xml を受け取るブラウザには、正しい Content-type を出力しています)