« 【ココログ】コメント展開表示ボタンを付けるスクリプト | トップページ | 苦笑せずにはいられない、ココログ・コメントのスパムフィルタ »

2007/08/16

【ココログ】お知らせを表示するスクリプト

ページ(content)上部に任意のお知らせを表示するようなスクリプトを作ってみました。
ココログ管理画面の『トップに表示』と比較して、
  1. トップページ以外にも表示可能。
  2. 記事以外に、任意のテキストも表示可能。
  3. ココログフリーでも広告が表示されない(笑)。
という利点(?)が有ります。
設置方法は、サイドバー上のメモタイプのマイリスト等、HTMLを記述できるところに
<script type="text/javascript" charset="utf-8" src="http://furyu.tea-nifty.com/script/cocoInsertNotice.js"></script>
<script type="text/javascript">
(function(){
var c=cocoInsertNotice;
c.targetPage='toppage monthly category'; // 対象となるページ種別(toppage,category,monthly,weekly,daily,individualを半角スペースで区切って複数指定可能、またはallで全種別対象)
c.noticeKind['DEFAULT']='text'; // text:テキスト指定、entry:記事内容を取り込み
c.noticeEntry['DEFAULT']='http://~'; // お知らせとして取り込みたい記事のURL
c.noticeText['DEFAULT']='\
<div style="font-size:12px;color:brown;">\
<strong>【お知らせ】</strong>(サンプル)<br />\
<ul style="margin:4px auto 8px 16px;">\
<li>ページの最初にお知らせを表示できます。</li>\
<li>特定の記事をお知らせとして使用することが出来ます。</li>\
<li>ページ種別(トップページ・カテゴリー・バックナンバー・個別記事)に応じて表示/非表示を変更可能です。</li>\
</ul>\
</div>\
'; // end of notice
// お知らせを複数行にわたって記述する場合は各行の終わりに"\"マークを付けること。
// お知らせ内に"'"を記述したい場合は、"\'"とすること。

// === 処理の呼び出し
cocoInsertNotice.init();
})();
</script>
というようなものを貼り付けます。
すると、c.targetPageに指定されたページ(上記の例ではトップページ・月別バックナンバー・カテゴリー)の上部にお知らせが表示されると思います。
お知らせの内容は、c.noticeTextの中身を書き替えると変更できます。
もしくは、c.noticeKindで'entry'を指定し、c.noticeEntryで任意の記事のURLを指定すると、その記事の内容が表示されるようになりますので、該当記事を書き替えることで変更できます。
また、ページ種別(toppage,category,monthly,weekly,daily,individual)毎に独立した設定を追加することも出来ます。
例えば、c.targetPageにindividualを追加し、
c.noticeKind['individual']='text';
c.noticeText['individual']='(個別記事に表示したいお知らせ)';
のような設定を追加してやれば、個別記事にだけ表示するお知らせを指定できます。
同様に、
c.noticeKind['individual']='entry';
c.noticeEntry['individual']='(お知らせ用記事のURL)';
としてやることで、個別記事に表示するお知らせの内容を、特定の記事から引っ張ってくることも出来ます。
なお、拙作の目次スクリプトを使用している場合には、
cocoInsertNotice.init();
を削除し、代わりに、目次の設置用スクリプトのオプションとして、
cocoPView.onCompleteContent=function(){cocoInsertNotice.init();}
というのを追加します。
cocoPView.init_onload() もしくは cocoPView.getArchivesRequest()よりも前に追加してください。
【注意】
ページ(テンプレート)のタグ構造をある程度決め打ちしてしまっているため、対応可能なココログは限定されます。
ブックマークレット:お知らせを表示(サンプル)
をご自分のページで試してみて、上部にお知らせが出て来ない場合は未対応だと思って下さい。
ちなみに、このスクリプトは、OBOCCO さんの
冬至のかぼちゃ: ページの目次(タイトル)を付けた(訂正有り)
に付いたコメント
トップページのみ「ページの目次」の上に、
「お知らせ」、見て欲しい「カテゴリー」、「画像」等、
表示させるようなものは、出来ませんでしょうか。
記事作成の「下書き」を使って、表現を自由に変更出来たら、
最高です。
を反映してみたものです。
こんなもんでどうでしょうか?

« 【ココログ】コメント展開表示ボタンを付けるスクリプト | トップページ | 苦笑せずにはいられない、ココログ・コメントのスパムフィルタ »

ウェブログ・ココログ関連」カテゴリの記事

コメント

風柳さん、お早うございます。

上記スクリプトを丸写しでテストしましたところ、
私の問題児のIE6でも、無事表示されました。

お知らせに載せる内容を考える事が、楽しみになりました。
なんせ、中身の無いブログなものですから・・・。(^^ゞ

またも、私の夢を叶えて頂きまして、ありがとうございます。m(__)m

ココログの掲示板で、
「お知らせを表示するスクリプト」
の文字を見て急いで飛んできました!!

ココログフリーのユーザーからしたらお宝のようなスクリプトで感激しました。。。涙
実装も上手くいき、大変感謝しております!!
ありがとうございました!!

Hachi-ko さん、どうもです。

気に入っていただけたようで幸いです。
記事でのご紹介もありがとうございます。

興味本位で気ままに作成しているスクリプトなんですが、利用した感想をいただけると、やっぱりうれしいものですね(^^)。

こんにちは~♪
毎日暑いですね^^;お元気でしょうか?

こちらのスクリプトもお借りしました!
表示させる文章を書くときの法則(?)がイマイチ理解できずにかなり悪戦苦闘しましたが^^;
無事設置出来ました。

また素敵なスクリプト期待しています!
ありがとうございました~♪

tako さん、ごぶさたしております。
ほんとに暑いですねぇ……夏の暑さと湿度に弱い私は毎日ふらふらです(x_x)。

記述方法ややこしかったですかね?
#JavaScript内に直接書こうとするとどうしても……

適当な名前のテキストファイル(UTF-8)に記述してアップロードしたものを、
c.noticeKind['DEFAULT']='entry';
c.noticeEntry['DEFAULT']='http://~';
で読込ませる方が、あるいは楽かも?

>記述方法ややこしかったですかね?

いやいや、私の理解不足です^^;
普段は出てこない「\」の使い方に過剰反応してしまったようです。
あと1個だけ「'」があったのを見逃してました(汗)

>適当な名前のテキストファイル(UTF-8)に記述してアップロードしたものを、
>読込ませる方が

あ、なるほど~。
そういう手もありますね!今度試してみます。
アドバイスありがとうございました♪

まだまだ厳しい残暑が続きそうですので、お身体注意して下さいね(^^)

風柳さん、こんにちは。

ページ種別毎に、お知らせ内容を変えて表示が出来ました。
記事をアップしましたので、TBさせて頂きました。m(__)m

気になる点が、二つほど。
1.c.targetPage='toppage monthly category individual';にして
c.noticeKindで設定していないページに、
風柳さんの【お知らせ】(サンプル)が表示されます。
個別に設定する時は、表示しないページも設定する必要があるのでしょうか。

2.c.noticeKind['DEFAULT']='entry';を設定して、Firefox(2.0.0.6)で表示すると、
pagead2.googlesyndication.comを読み込もうとし、読み込み状態になります。
ページ種別を変えても、同じ現象が出ました。
IE6は、正常に表示されました。

解決策を、よろしく、お願い致します。m(__)m

| 1.c.targetPage='toppage monthly category individual';にして

えーと、これはお知らせを表示したいページの設定になるので、例えばトップページとカテゴリー、個別ページだけを対象としたい場合には、
c.targetPage='toppage category individual';
とします(表示させたくない種別(例ではmonthly)は外してください)。

| 2.c.noticeKind['DEFAULT']='entry';を設定して、Firefox(2.0.0.6)で表示すると、
| pagead2.googlesyndication.comを読み込もうとし、読み込み状態になります。

あ、確かにココログフリーの場合はこうなるみたいですね……。
#うちのメインはココログプロなので見逃してました

スクリプト本体の方を修正してみました。いかがでしょうか?

1.について、申し訳ございません。m(__)m
ページ種別毎に表示する事に執着しておりまして、
対象にするページ種別の事を、すっかり失念していました。

2.について、残念ながら、Firefoxで同じ状況でした。
さらに、IE6では、記事タイトルだけ表示される様になってしまいました。
(取り急ぎのテストの為、バックナンバーだけテストしました)
もう少し、テストしてみます。

すみません、こちらも取り急ぎでテストしたためミスしてしまっていたようです。
再度調整してみましたが、どうでしょう?

※なお、古いスクリプトがキャッシュに残っていることがありますので、[Ctrl]+[F5]で強制読込みかけてみてください。

こんにちは。
コメント、ありがとうございました。
遅くなって、すみません。m(__)m

お陰様で、Firefox、IE共正常に表示されました。
ありがとうございます。m(__)m

またまた思いつきですが、
1.「表示されたカテゴリーの説明」を表示する様に出来ますでしょうか。
今はカテゴリーの「お知らせ」内容を、無理やり「お奨めカテゴリー」にしてます。
カテゴリー毎の説明文のテキストファイルを作成し、カテゴリーを読み込んだ時に、
テキストファイルを切り替えるようなスクリプトを、c.noticeText['category']内に、
設定して表示するイメージです。

2.「記事内容取り込み」のタイトル無しの記事内容のみ表示は、可能でしょうか。
お知らせを「テキスト指定」して、内容を設定する時、新規で記事作成して、
お知らせ内容を書いて「HTML編集」内容をコピーしました。
HTMLの知識が無い私でも、記事は何とか書けますので、
「記事内容取り込み」が、タイトル無しに出来ると、楽になります。(^^ゞ
欠点は、URLを得る為、「お知らせ」用記事を「公開」して、
その後、「下書き」する事でしょうか。

もし、複雑になりすぎて表示が遅くなるようでしたら、本末転倒ですので、
無かったことにしてくださいませ。m(__)m

| 1.「表示されたカテゴリーの説明」を表示する様に出来ますでしょうか。

機能追加してみました。
c.noticeKind['category']='text'; // テキスト指定
c.categoryText['ウェブログ・ココログ関連']='\
(ウェブログ・ココログ関連で表示したい内容)\
';
のように、c.categoryText['(カテゴリ名)']で、カテゴリ毎のテキスト内容を指定出来ます。
※指定していないカテゴリのページでは、c.noticeText['category']で設定した内容が表示されます。

また、
c.noticeKind['category']='entry'; // 記事指定
c.categoryEntry['ウェブログ・ココログ関連']='http://~';
とすれば、カテゴリ毎に記事の取り込みも出来ます。
※指定していないカテゴリのページでは、c.noticeEntry['category']で設定した内容が表示されます。

なお、c.noticeKind['category']='entry'; とした場合、指定するファイルは記事に限らず、文字コードがUTF-8であれば、単なるテキストファイルでも構いません。
なので、テキストファイルでお知らせを書いてファイルマネージャでアップロードしたものを
c.categoryEntry['(カテゴリ名)']='(テキストファイルのURL)';
で取り込むことも出来ると思います。

| 2.「記事内容取り込み」のタイトル無しの記事内容のみ表示は、可能でしょうか。

これはCSSの設定で可能です。
<style type="text/css">
#ccin_notice h3 {
display:none; /* お知らせ用記事のタイトルを非表示 */
}
#ccin_notice .posted {
display:none; /* お知らせ用記事のフッタ部を非表示 */
}
</style>
お試しください。

機能追加していただき、ありがとうございます。m(__)m
カテゴリー説明も、記事のタイトル無しも、問題なく機能しました。

思いつきにお付き合い頂き、重ね重ねお礼申し上げます。m(__)m

はじめまして。
最近他ブログからココログに引っ越してきました。

フリーなのですが、
ブログ全体のcssは編集できてもhtmlの編集が効かないのが
ちょっとイタイところですね・・・

そこでお聞きしたいのですが

サイドバーにメモとしてブログパーツを設置しましたが、
使用しているのが横長のもので、半分しか表示されません。
(カーソルを置くと全部表示されますが)
なので、風柳さんの”表示されたカテゴリーの説明”欄に
リンクを貼ろうと思ってやってみました。
htmlですともちろん
<a href="http://~/></a>
の形なのですが、この場合どこに書き込みor書き換えすればよいでしょうか?

教えていただけると大変助かります☆

tomo さん、お返事遅れましてすみません。

お尋ねの主旨は、
・ブログパーツへのリンクを“表示されたカテゴリーの説明”欄に貼り付けたい

ということでよろしいですか?

その場合、例えば

c.categoryText['(設定したいカテゴリー名)']='\
<a href="http://~/">(リンクするブログパーツの説明)</a>\
';

で出来ると思うのですが……。

ご質問の意図を取り違えておりましたらすみません。
その場合は具体的に『こうやったけれどうまくいかなかった』、といったご報告(できましたら、その状態のブログへのリンクも添えて)を頂けましたら幸いです。

「ココログフリーでも広告が表示されない(笑)。 」とありましたが、
「お知らせ」を設置しても広告が表示されました。
もう対策をとられたのでしょうか?

ひぃ さん、どうもです。

「ココログフリーでも広告が表示されない(笑)。 」は、「このスクリプトで表示したお知らせ中には」の意味です(「トップに表示」をお知らせがわりにしていると、お知らせ記事中に広告が出てしまうのと比較して)。

記事中に表示される広告を消す機能はもっておりません(スクリプトで消したりする行為は規約上禁止されているため)。悪しからず。

初めまして。

ページ上部ではなく、記事の末尾に「お知らせ」を表示するようにはできないでしょうか。
あるいはそのようなオプションはあるでしょうか。

この記事を例にすると記事の最後と「2007/08/16(木) 08:30| 固定リンク~」の行の
間に差し込みたいのです。

伝わりますかね^^;

ほらさん、どうもです。

記事の最後に挿し込みたいということですが、全ての記事に対してなのでしょうか?
それと、ココログはテーマ(テンプレート)によっていろいろとページ構造が変わってしまうので、ほらさんがお使いのところがわからないとちょっと…。

というか、どちらにしても今はあまり時間が取れないので、対応できるかどうかわからないのが心苦しいのですが……悪しからず。

お返事ありがとうございます。

そうです。すべての記事の最後です。
今はココログオリジナル・テーマの「シンプル」を使っています。

何をやりたいかというと、記事の最後にブログロールを挿し込みたい
思っています。ブログロールはフリーで提供されているものを使うため、
枠とか余計な物が何もない状態で、単純にhtmlタグを挿し込みたいのですね。

対応していただけるなら気長に待ちますよ。
それまでは手差しで入れておきますので。
対応されたら、非表示にしてこちらのに差し替えようと思います。

一応、URL 貼っておきますね。

本当に気長に待ちますので、プレッシャーに感じないでください。

ほらさん、どうもです。

ほらさんのブログの場合、こんな感じのスクリプトで行けそうな気がします。
【フッタ範囲:ここから】 ~【フッタ範囲:ここまで】のところは貼り付けたいHTMLに置き換えて下さい。

<div id="hidden-footer-html" style="display:none;">
<!-- 【フッタ範囲:ここから】 -->
<blockquote>
<ul>
<li><a href="http://furyu.tea-nifty.com/annex/" target="_blank" rel="nofollow">風柳亭</a></li>
<li><a href="http://d.hatena.ne.jp/furyu-tei/" target="_blank" rel="nofollow">風柳メモ</a></li>
<li><a href="http://twitter.com/furyutei" target="_blank" rel="nofollow">ツイッター</a></li>
</ul>
</blockquote>
<!-- 【フッタ範囲:ここまで】 -->
</div>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
(function(w,d){
$().ready(function(){
var footer_html=$('div#hidden-footer-html').html();
var jq_footers=$('div.entry-footer'), is_before=true;
if (!jq_footers.length) {
jq_footers=$('div.entry-body-bottom');
is_before=false;
}
jq_footers.each(function(){
if (is_before) $(this).before(footer_html); else $(this).after(footer_html);
});
});
})(window,document);
</script>

さっそくありがとうございます。
これをメモ欄に貼ればいいんですよね。
他とのバランスがあるので、週末にも試してみます。
本当にありがとうございます。

ありがとうございました。
無事、記事の下に貼り付けることができました。
未だデザインは試行錯誤の段階で、これからも
いろいろいじりたいと思います。

逆にトップのお知らせがうまくいかないですが^^;
これはこちらの問題と思いますので、修行に
励みたいと思います。

このたびはありがとうございました。

また戻ってきてしまいました(笑)
教えていただいたスクリプトを使って Google AdSense を貼っているのですが、
IE8 だと表示できなくなっているようです。IE7 や Firefox だと表示されます。
簡単なテキストなら問題ないので、どうやら AdSense の javascript と
何らかの衝突している様子…困った。
これはもうどうしようもないので自分でどうにかするしかないですね…

あと、質問なのですが、「jq_footers.each」を「jq_footers.one」に
すればカテゴリーや月が選択されたときに最初の一件だけ表示されると
思ったのですが、私の考えが間違っているでしょうか。

ほら さん、どうもです。

うーん、Google AdSense のような、複雑なJavaScriptを読み込むようなものを貼ると、動作に支障が出るかもしれないですね。
そうなるとちょっと対応できないです、ごめんなさい。

jq_footers.each()のほうですが、最初の一件だけ表示するには、
jq_footers.each(function(){
if (is_before) $(this).before(footer_html); else $(this).after(footer_html);
return false; // ←これを追加
});
のようにしてやればよいと思います。
#すでにご自分で工夫なさっているようですが。

あと、
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
という行は、jQueryというJavaScriptの拡張用ライブラリを読み込むもの($(~)とかを使えるようにするもの)ですが、一度書いておけば有効になるので、その後は何回も書かなくてよい(書かないほうがよい)ですよ。

>のようにしてやればよいと思います。

ご助言ありがとうございます。
そんな手があるのですね。

>#すでにご自分で工夫なさっているようですが。

なんか無理やりやっている感じで、イマイチな感じだったので
この方がスッキリしていていいと思います。

>一度書いておけば有効になるので、その後は何回も書かなくてよい(書かないほうがよい)ですよ。

そうですよね。
何回読み込んでも一緒だろうと手抜きしていました。

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/161784/16131427

この記事へのトラックバック一覧です: 【ココログ】お知らせを表示するスクリプト:

» 「お知らせを表示」をページ毎に変えてみた [冬至のかぼちゃ]
「お知らせを表示」する機能をつけたで、風柳さんのサンプルを、そのまま表示していた [続きを読む]

» 私のブログ(ココログ)カスタマイズ [***Country Netlife***]
参考になったHP・ブログのご紹介です。 ありがとうございます。《カラー》 TAG [続きを読む]

« 【ココログ】コメント展開表示ボタンを付けるスクリプト | トップページ | 苦笑せずにはいられない、ココログ・コメントのスパムフィルタ »

戻るリンク追加

カレンダー

2017年10月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

ココログカレンダーPlus

検索


    • Web全体 サイト内
    • 蔵書のISBNを入力して下さい
    • はじめる前
      初級者向け
      上級者向け
      ブログ紹介
      結果を表示

最近のトラックバック

コメントリストツリー化

無料ブログはココログ