Firefox 1.0.2 とサイドバー

http://hxxk.jp/2005/03/25/0013

記事データ

投稿者

望月真琴

投稿日時

2005-03-25T00:13+09:00

タグ
概要

Firefox のサイドバーに収納するアンテナなどのページは、 base 要素または a 要素の target 属性に _content を指定しておく必要がありました。ただ、いつのバージョンからか分かりませんが、 1.0.1 まではその指定が無くてもリンク先をメイン領域に表示するようになっていました。しかし、 1.0.2 では _content が指定されているもののみメイン領域への表示を行うような挙動に変更されているようです。

リプライ

リプライはまだありません。

記事本文

おろ、サイドバーの挙動が変ですよ。 『ミニさとみかん』あたりは以前と変わらないんだけど、『はてなアンテナ』あたりをサイドバーで使うと、リンク先をサイドバー内に表示してしまうという状況が発生。 「 Ctrl キー」+ クリックなら、新規タブが開いて、そこにリンク先を表示してくれるんだけど、これじゃあ使いにくいわけで。

IRC で話題になったので検証してみたんですが、サイドバー周りの仕様 ? が変わっているようですね。

Mozilla (本家) の Sidebar に収納するためのページは、<base target="_content"> という呪文を唱えてなければならない…というシバリがあります。 この呪文をとなえてない場合、 Sidebar 内にリンク先ページが開かれてしまう。 だれもそんなこと望んでないのに。

元々こういうキマリがあった中で、どのバージョンからか知りませんが、 <base target="_content"> が書かれていなくてもメイン領域にリンク先のページを表示していたようです。 「ようです」というのは、私はサイドバーを活用していなかったので、活用していた人に以前の挙動を尋ねた故の言い回しです。

そして、その挙動は 1.0.1 までは残っていましたが、今回 1.0.2 になって、 <base target="_content"> が必須であるという挙動に戻った (?) ようです。 これは関数名の打ち間違いによるものだそうです。

「ミニさとみかん」では以下のルールでブラウザを判別し、それぞれ用の <base target="..." /> をソースに書き加える仕掛けを施しています。 SSI です。

UA 名に "Gecko/" を含む
<base target="_content"> を書き加える

ミニさとみかんでは製作者側でこのような対処をしているので、 1.0.2 になっても変わらずメイン領域でリンク先ページを表示してくれます。 私も、同様の対処をしたページを試しに作ってみました。

このページをサイドバーに読み込ませて、記事タイトルをクリックするとメイン領域に記事の内容を表示するはずです。

「表示設定」→「リンクターゲット」の部分で _content を指定 はてなアンテナの場合、製作者側では head 要素の中を変更することはできませんので、どうしてもサイドバーで活用したいのならば、 base 要素で target 属性を指定するのではなく、 a 要素にて target 属性を指定することで一応の解決は図れます。 管理画面から、「表示設定」の「リンクターゲット」に _content を指定して、サイドバーに収納するとお望みの結果が得られると思います。 ただし、サイドバー以外で使う場合、例えば IE では新規ウィンドウを開いてしまうようになりますので、この方法はパブリックモードのはてなアンテナではあまりおすすめできません。

リプライ

リプライはまだ送られていないか、管理者の承認待ち状態です。

この記事に対するご意見やご質問、ご感想などありましたらこのフォームに簡潔に記入して下さい。 簡潔に記入できない場合や、関連記事にてご意見をお寄せいただく場合は、ご自身の weblog にて記事を書かれた上で あてにトラックバックとして送信してください。

記入フォーム

補足情報

著作、講演、制作実績など