各記事にページのTOPに戻るリンクを付ける
ココログは一つのページが縦にとても長くなることが多いですが、ページのTOPに戻るリンクを簡単に付けることができません。最初から毎回記事を書くときに最終行にTOPへのリンクを貼れば使いやすくはなりますが、気づいたときにはもう遅い、という状況です。
またまた探してみました。
先日目次を探したときにHITしたFacet氏のfacet-diversに、記事本文の下にいろいろなリンクを付け加えるスクリプトがありました。本来はClipLinkというサービスのリンクのためらしいですが、TOPへのリンクも張れるので、ちゃっかりとその部分だけ利用させていただきました。
実はスクリプトの命令を一つも知らないのに、単語だけ眺めてTOPへのリンク機能と関係なさそうなところをばさばさカットしてしまいました。facetさま、申しわけありません。まさか動くとは思わなかったのに、マイリストに貼ったら、動いてしまったんです。好奇心からの実験だったので自分でも驚きました。こんな内容ですが、問題があればすぐ削除いたします。
追記:facetさんからここのコメントにアドバイスいただいて、もっと短くすることができました。下記のものは訂正したものですので安心です!
マイリストに下の青いテキストをコピーして貼り付けサイドバーに設置するだけで、TOPへのリンクが記事の下に現れます。赤文字の部分はリンク部分のテキストになるので、好みで書き換えができます。私もオリジナルからは書き換えて目立つように太字にしてあります。
<script type="text/javascript"><!--
// e: node
function getPostedDiv(e) {
while (e) {
if (e.nodeName == "P" && (e.getAttribute("class") == "posted" || e.getAttribute("className") == "posted")) return e;
e = e.nextSibling;
}
}
function addBackToTop() {
var h3s = document.getElementById("center").getElementsByTagName("H3");
for (var i = 0; i < h3s.length; i++) {
var h3 = h3s[i];
var div = getPostedDiv(h3);
var a = " | " + '<a href="#container">' + "<b>TOPへ戻る▲</b>" + '</a>'
div.innerHTML += a;
}
}
addBackToTop();
// --></script>
今のところ暴想さんの目次と併用しているので、タイトル一覧を出してまた戻ったりすると、リロードするまで消えてしまったりもするようです。風柳さんの目次とは相性が良さそうなので、こちらをフォームボタンで使うのではなくて、ページに埋め込んでしまおうかと考えてみたり。
追記:こちらの目次との相性も、アドバイスをいただいてTOPへのリンクのスクリプトを目次のスクリプトより前に持ってくるようにしたら問題がなくなりました。
本当にfacetさん、ありがとうございます。
こうしてまだまだ試行錯誤中ですが、根本的な問題はココログがカテゴリー内の記事を全部表示しようとすること。ユーザー側でページ表示を考えてカテゴリーを小分けするなんて面倒です。ココログが30件ずつくらいの表示で「次ページへ」の運用をしてくれるといいのですが。というか、まじめに何年も続けるブロガーなら何百という記事が一つのカテゴリーにたまることは全然珍しくないわけで、それを一気に表示してしまおうというココログは無謀すぎる。今度の改変ではこんなところはまったく改善されないのでしょうか。
カテゴリーわけのやり直しも考えているけれど、密かにココログの対応も待ってみたり。無理かな?
追記:このスクリプトは右サイドバーに置かないとうまく行かない場合があるようです。
| 固定リンク
「ココログカスタマイズ」カテゴリの記事
- またまた風柳さんのカレンダーがパワーアップ!(2006.08.12)
- [ココログ] 風柳さんの目次、カレンダー変更点(2006.08.03)
- カレンダーをバージョンアップ(2006.07.26)
- 風柳さんの新しい目次のスクリプト(2006.07.14)
- TOPへのリンクを個別ページで出さない(2006.07.09)
この記事へのコメントは終了しました。
コメント
facet-diversの方にコメントありがとうございました(^^)
TOPに戻る、だけの場合、
function getPostedDiv(e){...}
function addBackToTop(){...}
addBackToTop();
の三つで動くと思います。(たぶん)
あと、暴想さんのとは確かに相性が悪いですね。これ、設置の順番を変えて、先にaddBackToTop()するようにすればOKのようです。
投稿: facet | 2006.07.07 15:31
こちらでコメントいただいて恐縮です。ありがとうございます。
さっそくの的確なアドバイスで、ばっちりです。
目次を動かしてもTOPへのリンクが消えなくなりました。自分で見るのにもこれはものすごく便利です。記事のほうも書き換えておきます、もしこの機能が必要な方がいたら参考になれば嬉しいです。
これからもよろしくお願いいたします。
投稿: バッグスからfacetさんへ | 2006.07.07 16:05
失礼します。
記事の下に「TOPへ戻る」リンクを付けたいと思い、いろいろ調べているうちに貴方様のページにたどり着きました。
同じ方法を試してみたのですが、そのままサイドバーに「TOPへ戻る▲」の文字が現れるのみで、記事の下には何も現れません。
リストのタイプはメモを選択して、メモ欄に上記スクリプトをペーストしたのみですが、この方法に間違いがあるようでしたらご指摘いただけると助かります。
プランはベーシック、OSはwin2000です。
投稿: もっちょんと申します。 | 2006.09.25 11:35
もっちょんさん、こんにちは。
ご質問の件ですが、書かれているとおりのやり方で良いはずなのでよくわからないのですが、もし、左サイドバーに設置されているのであれば右サイドバーに設置してみられたらいかがでしょうか。今試してみたら、私のところでは右サイドバーでしか動きませんでした。(ただし左サイドバーでも、動かないだけで特に文字が見えたりはしないのですが)
またこのスクリプトを改変して、個別ページにはリンクを出さないようにしたものもあります。ただし、私もスクリプトに関しては「ど素人」なので、他の方の環境でうまく行くかどうか自信はありません。
一応改変した記事は7/9の
「TOPへのリンクを個別ページで出さない」
http://bugsbunny.cocolog-nifty.com/blog/2006/07/top_fb8a.html
に載せてあります。
このページの青い部分(空色部分含む)を全てコピーしてメモ欄に貼り付けていただいたらいかがかと思います。
はじめの「<」から最後の「>」(ここでは全角にしていますが実際は半角です)きちんと入っているか念のためお確かめください。
なお、リンクタイプが「メモ」タイプでなく「リンク」タイプだった場合には、リストの設定で、「メモの表示」を「テキスト表示」に設定しておくことが必要です。
うまく行きますでしょうか・・
投稿: バッグスからもっちょんさんへ | 2006.09.25 13:59
>>バッグスさんへ
ご返答ありがとうございます。
仰る通り左サイドバーでは動作せず、右サイドバーで試したところ2種類のスクリプトともあっさり動きました。
自分のページはサイドバーが左側にあるので、どうしようか…と悩んでいる最中です。
でもとりあえず、少し先に進んだ気もします。
ありがとうございました。ご丁寧な対応にも感謝です!
投稿: もっちょん | 2006.09.25 17:53
右サイドバーでは動きましたか。本文を読み込んだ後でないとうまく行かないのかもしれませんね。私も自分でスクリプトを書けたりはしないので、よくわからなくて申し訳ありません。
記事の方にも注意書きを入れておくようにいたします。ご報告ありがとうございました。
投稿: バッグスからもっちょんさんへ | 2006.09.25 21:19
バッグスさん。
初めまして、OBOCCOと申します。
facetさんのところで、バッグスさんのコメントを見て、参りました。
この「Topへ戻る」をずっと探していまして、やっと見つかって、大喜びしております。
勝手に使わせて頂いて、よろしかったでしょうか。
ありがとうございました。
投稿: OBOCCO | 2007.01.02 11:32
OBOCCOさん、はじめまして。
記事がお役に立って本当に良かったです。facetさんに教えていただいて私も使わせていただいているものです。お使いいただけるのなら嬉しいです。
ご報告ありがとうございました。
投稿: バッグスからOBOCCOさんへ | 2007.01.02 21:15
はじめまして。
バッグスさんのスクリプトを参考に記事フッターを設定なさった上のコメントのOBOCCOさんの設定をそのまた参考にして、私も「ホームに戻る」「一番上に戻る」などの設定を付けさせてもらいました。
便利なスクリプトをありがとうございました^^!
トラックバックさせて頂いた私の記事中に、よろしければこちらの記事を紹介させて頂きたいのですが、OKでしょうか。。。
どうぞよろしくお願いします。
投稿: とんぼや・壱 | 2007.07.12 21:40
コメントありがとうございました。お役に立てて本当に嬉しいです。
記事はどうぞご自由に引用なりなさってくださいませ。あまり私もスクリプトに詳しいわけではないので、もともとはfacetさんのスクリプトでもあります。こんな風に私も含め、利用させていただけて嬉しいですね!
*もしかしてトラックバック送っていただいているのでしょうか。とくにはじいていないのですが、反映されてませんね・・・どうしてなんでしょうかね?
投稿: バッグスからとんぼや・壱 さんへ | 2007.07.13 23:45
と思ったら、今niftyからトラックバック通知が来て、なぜか非公開の状態でトラックバックが届きました。公開いたしましたのでようやく反映しました。公開しない設定にはしてないんですけど、変ですね。
投稿: バッグスからとんぼや・壱 さんへ | 2007.07.13 23:51
バッグスさん こんにちは。
昨日送ろうとしてもうまくいかなかったのでココログヘルプを見たら、「少し前の記事にトラックバックしたい時は相手の方の記事URLが本文中に含まれていなかったらトラバは届かないし、URLが含まれていたらいったん未公開の保留状態で届く」というスパム対策の結果ではじかれていたようです^^;
紹介させてもらっていいですかとお願いコメントと共にトラックバックも…のつもりだったのですが、トラバを成功させたら(つまり記事URLを先に載せてしまい・・・)話が逆になってしまいました(^^;)
このスクリプトは、マイリストに登録してサイドバーに表示させるとそうなるというのが、本当に不思議です^^
ココログさんも、もっと頑張ってこういうのをはじめからテンプレートに反映させてもらいたい気持ちもあるけど、でも自分でどんどんカスタマイズしていけるというのは、なんか楽しいですね(私はコピペ専門ですけどね)。
紹介・引用、させていただきます。ありがとうございました。
投稿: とんぼや・壱 | 2007.07.14 00:19