日々のコンピュータ情報の集積と整理

Dr.ウーパのコンピュータ備忘録

2014年5月16日金曜日

Blogger:投稿一覧を作成する-記事にマウスを乗せたら投稿のサマリを表示する

イントロダクション

前回は最もシンプルな投稿一覧を作成しました。


今回は前回のコードを少し修正し、記事にマウスを乗せたら投稿のサマリを表示するように修正します。



今回作成する投稿一覧

記事にマウスを乗せたら投稿のサマリを表示するようにします。

コード

以下のコードを記事一覧を表示したい部分に埋め込みます。

一番最後の行の、

<script type="text/javascript" src="http://upa-pc.blogspot.com/feeds/posts/summary?alt=json-in-script&callback=loadtoc&max-results=500&redirect=false"></script>

の src のドメイン部に各自の Blogger のアドレスを入れます。



<script type="text/javascript">
<!--
    function loadtoc(data) {

    for (i = 0; i < data.feed.entry.length; i++) {
        
        // リンク先の探索
        var href = "javascript:void(0);";
        for (j = 0; j < data.feed.entry[i].link.length; j++) {
            if (data.feed.entry[i].link[j].title == data.feed.entry[i].title.$t) {
                href = data.feed.entry[i].link[j].href;
            }
        }

        document.writeln("<a href=\"" + href + "\" title=\"" +
            fixForAttributeTitle(escapeForAttributeText(data.feed.entry[i].summary.$t)) + "\">" + 
            escapeHTML(data.feed.entry[i].title.$t) + "</a><br />");

    }

    // テキストをエスケープ処理する
    function escapeHTML(html) {

        var div = document.createElement("div");
        if (div.innerText !== void 0) div.innerText = html;          // innerText が定義されていれば innerText へ設定
        else div.textContent = html;                                 // Firefox のように innerText がないブラウザ向け

        return div.innerHTML;
    }

    // 属性用にテキストをエスケープ処理する
    function escapeForAttributeText(html) {

        // " をエスケープ
        html = html.replace(/\&/g, "&amp;");

        html = html.replace(/\</g, "&lt;");
        html = html.replace(/\>/g, "&gt;");
        html = html.replace(/\"/g, "&quot;");
        html = html.replace(/\'/g, "&apos;");
        return html;
    }

    // 属性の title 用にテキストを整理する
    function fixForAttributeTitle(text) {

        text = text.replace(/(\r\n){2,}/g, "$1$1");
        text = text.replace(/(\r){2,}/g, "$1$1");
        text = text.replace(/(\n){2,}/g, "$1$1");

        return text;
    }
}

//-->
</script>
<script type="text/javascript" src="http://upa-pc.blogspot.com/feeds/posts/summary?alt=json-in-script&callback=loadtoc&max-results=500&redirect=false"></script>



マウスを乗せたら投稿のサマリが表示される仕組みは、各投稿タイトルの<a>タグの title 属性に投稿のサマリを設定しているからです。

なお、投稿のサマリ中に " などが含まれていると、表示がおかしくなるため、" などをエスケープしています。


結果

上記のコードを埋め込み、実行すると次のような結果が得られます。

JavaScript:特定の要素を配下の要素も含めて有効・無効(disabled)を制御する
Closure Compiler:コンパイルしたらJavaScriptの実行時にエラーが出るようになった。コードの順番を変えたら正常に動作した
2台のパソコンを同じ机で使う場合、USB切替機を使うと圧倒的に便利!!

~省略~

Windows 8発売!早速ダウンロード購入(1)
Dr.ウーパのコンピュータ備忘録開始!


途中は省略していますが、記事にマウスを乗せたら投稿のサマリを表示する投稿記事一覧を作成することが出来ました。

記事にマウスを乗せたら投稿のサマリを表示する投稿記事一覧


まとめ

上記コードにて、記事にマウスを乗せたら投稿のサマリを表示する記事一覧を作成できました。

次回は上記コードに少し手を加えて、番号付きリストにて記事一覧を表示してみます。






関連記事

関連記事を読み込み中...

同じラベルの記事を読み込み中...
Related Posts Plugin for WordPress, Blogger...