Bloggerでは、「次の投稿」「前の投稿」にタイトルが表示されないので、どんな記事だかわからない。
「次の投稿」にページタイトルを表示するにはどうしたらよいか、調べてみると簡単だった。

Blogger のテンプレートの編集で、</body> の前に、次のコードを挿入するだけ。





——— </body> の前に、次のコードを挿入


<!-- set next prev page title start -->
<script type='text/javascript'>
//<![CDATA[
<!--
(function () {

    function addScript(src) {

        var script = document.createElement('script');
        script.setAttribute("type", "text/javascript");
        script.setAttribute("src", src);

        header_setChild(script);
    }

    function getHeader() {
        return document.getElementsByTagName("head")[0];
    }

    function header_setChild(child) {
        var head = getHeader();
        head.appendChild(child);
    }

    var prev_page_link_obj = document.getElementById("Blog1_blog-pager-older-link");
    if (prev_page_link_obj) {
        var prev_page_link_url = prev_page_link_obj.getAttribute("href");
        addPageTitleFromFeed("blog-pager-older-link", prev_page_link_url, "addPrevPageTitle");
    }

    var next_page_link_obj = document.getElementById("Blog1_blog-pager-newer-link");
    if (next_page_link_obj) {
        var next_page_link_url = next_page_link_obj.getAttribute("href");
        addPageTitleFromFeed("blog-pager-newer-link", next_page_link_url, "addNextPageTitle");
    }

    function addPageTitleFromFeed(ins_obj_id, page_url, callback) {

        if (!ins_obj_id) return;
        if (!page_url) return;
        if (page_url.indexOf("?") != -1) return;        


        var home_url = location.protocol + "//" + location.hostname + "/";      
        var page_url_remove_home = page_url.replace(home_url, "");              
        if (!page_url_remove_home) return;              
        page_url_remove_home = "/" + page_url_remove_home;

        var div = document.createElement("div");
        var title_obj_id = ins_obj_id + "-title";
        div.innerHTML = "<a href="" + page_url + "" id="" + title_obj_id + "">" + "now loading..." + "</a>";


        var obj = document.getElementById(ins_obj_id);
        if (!obj) return;
        obj.appendChild(div);

        addScript(home_url + "feeds/posts/summary?alt=json-in-script&callback=" + callback + "&max-results=1&path=" + page_url_remove_home + "&redirect=false");
    }

})();

function addPrevPageTitle(data) {
    addPageTitle(data, "blog-pager-older-link-title");
}

function addNextPageTitle(data) {
    addPageTitle(data, "blog-pager-newer-link-title");
}

function addPageTitle(data, id) {

    var title = "";
    if (data.feed.entry) {
        if (data.feed.entry.length > 0) {
            title = escapeHTML(data.feed.entry[0].title.$t);
        }
    }

    var obj = document.getElementById(id);
    if (!obj) return;
    obj.innerHTML = title;

    function escapeHTML(html) {

        var div = document.createElement("div");
        if (div.innerText !== void 0) div.innerText = html;          
        else div.textContent = html;                                 

        return div.innerHTML;
    }
}
//-->
//]]>
</script>
<!-- set next prev page title end -->













次の記事

ABOUTこの記事を書いた人

世界を旅して80余国。徒然書苦氣去。 Author

コメント

ランダムフォト