への書き込みに見事に失敗したので、再掲のためエントリーします(T_T)。
---(以下、コメント欄への書き込みです)---
遅くなりましたが、トラックバック&修正アップ、ありがとうございました。
が、なんだか問題が発生しているようですね。で、今、KOuさんに設置していただいた外部スクリプトを見てみました。
KOuさんのところの外部スクリプトには、最後の方に関数が3つ(addBackToTop();、addClipLink();、addSimilaritySearch();)追加されているようですね。
外部スクリプトに関数を直接書くと、最初に外部スクリプトを読み込んだ時点で、これらの関数が実行されます。なので、その後、各ユーザが呼び出しスクリプト側で関数を記述をすると、結果として重複して表示されることになります。
つまり、今回のclearwaterさんの例だと、KOuさんの外部スクリプトを呼び出した時点でそこに書かれている関数が3つ(addBackToTop();、addClipLink();、addSimilaritySearch();)実行され(=リンクが3つ追加され)、さらにclearwaterさんが関数を2つ(addBackToTop();とaddClipLink();)呼び出したので、合計5つのリンクがエントリーのフッターに追加された、ということだったと想像します。
問題の解決方法は、二つ思いつきました。
1)外部スクリプトは今のままで、ユーザに好きな方を使ってもらう。
2)外部スクリプトを再度修正する。
1)についてですが、具体的にいうと、リンクのテキストや数や順番をカスタマイズしたいユーザには私のスクリプトを使っていただいて、
<script type="text/javascript" src="http://facet.cocolog-nifty.com/divers/addFootLinks4ss02a.js">
</script>
<script type="text/javascript">
<!--
backToTopText = "<br>ページTOPに戻る";
addBackToTop();
clipLinkText = "この記事をClip!!";
clipLinkCode = "";
addClipLink();
similaritySearchText = "似た記事検索 By Bulkfeeds";
addSimilaritySearch();
-->
</script>
という感じで呼び出し部分を記述してもらい、逆に、なるべく簡単に設置したいというユーザには、
<script type="text/javascript" src="http://www005.upp.so-net.ne.jp/moo-t/blog_img/script/addFootLinks4ss02a.js">
</script>
と、今のKOuさんの外部スクリプトを呼び出す部分だけを記述していただく、という風に使い分けてもらえばいいかな、ということです。
呼び出し側に変数や関数を書いてもらうようにしてあったのは、リンクのテキストを変更できたり表示するリンクを選べたりできるようにという意図からなんですが、そのために呼び出し側の記述が繁雑になっているのは確かでして、どちらも一長一短なんですよねぇ……。
(「設置が簡単だとカスタマイズ性が低いし、カスタマイズ性を上げようとすると設置が繁雑になってしまう」というジレンマは、いつも感じていて、どの辺りを落し所にすべきか、スクリプト作成時にいつも悩んでます)
それから、1)のように選択肢が増えると、逆にユーザにとっては分か辛くなってしまうかもしれませんので、2)の方法となるのですが、その場合、どちらかの(もしくは両方の)外部スクリプトを修正し、一本化する、ということになりますね。
この場合、どういう修正を施すかは、私が現状を把握していないこともありますので、できるだけユーザに影響の少ない方向で決めていきましょう、ということでお願いします。
ところで、seesaa新バージョンですが、今試してみたところ、「自由形式で作ったコンテンツの自由入力欄に何かを記述した時に改行したところに自動的にbrタグがついてしまう」という仕様はもう変更されて無くなったみたいですね。これなら問題無く改行付きの呼び出しスクリプトを記述することができますね。安心しました。
しかし、このテンプレート管理、凄いですね。ページの種類毎にテンプレートを変更できるし。これで無料? うーみゅ。乗り換えようかな……なんて(^^;。
# 以上、また長くなっちゃって、どうもすみません。
---(コメント欄への書き込み、以上でした)---
はあ。やっぱりまだ乗り換えられなさそうです。
【関連する記事】