Google

このブログについて

プロフィールGoogle Blogger の使い方、カスタマイズ方法、各種ツールなど、Blogger 関連の役立つ情報を紹介しています。

フィードリーダーに登録

お知らせ

また発作的にブログを作ってしまいました。


フォトログも更新中。フィードリーダーの片隅にでも、置いてもらえるとうれしいです。

以前の記事

現在の閲覧者数

web tracker
2005-08-03

Archive Links in a Menu このエントリーをはてなブックマークに追加

前回アーカイブリンクに関する記事を書いたのでついでに…。)

Blogger 歴が1年、2年と長くなるにつれて、アーカイブリンクのリストもどんどん長くなっていきます。リストをもっとすっきり表示したい、というときに便利なのが選択型のアーカイブリンクです。
これは Blogger Help でも紹介されています。

これに Current Posts のリンクを加えたのが Li Zhao さんのものですが、どちらにしてもページの移動を JavaScript に頼っています。
そのため、JavaScript が無効になっている場合には、アーカイブページにたどり着くすべがなくなるとともに、用をなさないセレクトボックスがさみしく表示される、ということになります。

クリボウも JavaScript を使わない簡単なページ移動の方法は思いつかないのですが、せめて JavaScript が効かないときには、従来のアーカイブリンクを表示するようにしたいのです。

結局どうするかというと、テンプレート中、アーカイブリンクが書かれている部分(おそらく <ul class="archive-list">)を

<script type="text/javascript">
document.writeln("<select name='archivemenu' onchange='document.location.href=this.options[this.selectedIndex].value;'>");
document.writeln("<option value='" + location.href + "' selected>- Archives -</option>");
<BloggerArchives>
document.writeln("<option value='<$BlogArchiveURL$>'><$BlogArchiveName$></option>");
</BloggerArchives>
<ArchivePage>document.writeln("<option value='./'>Current Posts</option>");</ArchivePage>
document.writeln("</select>");
</script>
<noscript>
<BloggerArchives>
<li><a href="<$BlogArchiveURL$>"><$BlogArchiveName$></a></li>
</BloggerArchives>
<ArchivePage><li><a href="<$BlogURL$>">Current Posts</a></li></ArchivePage>
</noscript>
に書き換えます。今回も長くなってしまいましたが、コピー&ペーストして使って下さい。

ちなみにセレクトボックスの中で、前回記事のように、新しいものを上に、古いものを下に表示したい時には、同じところに

<script type="text/javascript">
var archives = new Array();
<BloggerArchives>
archives[archives.length] = new Array("<$BlogArchiveURL$>", "<$BlogArchiveName$>");
</BloggerArchives>
document.writeln("<select name='archivemenu' onchange='document.location.href=this.options[this.selectedIndex].value;'>");
document.writeln("<option value='" + location.href + "' selected>- Archives -</option>");
for (var i = archives.length - 1; i >= 0; i--) {
  document.writeln("<option value='" + archives[i][0] + "'>" + archives[i][1] + "</option>");
}
<ArchivePage>document.writeln("<option value='./'>Current Posts</option>");</ArchivePage>
document.writeln("</select>");
</script>
<noscript>
<BloggerArchives>
<li><a href="<$BlogArchiveURL$>"><$BlogArchiveName$></a></li>
</BloggerArchives>
<ArchivePage><li><a href="<$BlogURL$>">Current Posts</a></li></ArchivePage>
</noscript>
という、長い長いコードを書きます。
posted at 23:32 | Translate このエントリーをはてなブックマークに追加 このエントリーを含むはてなブックマークを表示
:

Post a Comment


Links to this post:

Create a Link