Blogger自作次ページタイトル設定

投稿を表示したときに下に表示される次の投稿や前の投稿をタイトル名に変更する自作テンプレートのjavascriptです。

次の投稿や前の投稿はこういう感じになっています。
<a class="blog-pager-older-link" href="https://googlebloggertrouble.blogspot.com/2022/03/bloggerfeedsgetlist.html" id="Blog1_blog-pager-older-link" title="前の投稿">前の投稿</a>
<a class="blog-pager-newer-link" href="https://googlebloggertrouble.blogspot.com/2022/03/bloggersvgiconlist.html" id="Blog1_blog-pager-newer-link" title="次の投稿">次の投稿</a>
これをリンク先のタイトル名に変更します。
<a class="blog-pager-older-link" href="https://googlebloggertrouble.blogspot.com/2022/03/bloggerfeedsgetlist.html" id="Blog1_blog-pager-older-link" title="Bloggerのfeedで取得できるもの一覧">Bloggerのfeedで取得できるもの一覧</a>
<a class="blog-pager-newer-link" href="https://googlebloggertrouble.blogspot.com/2022/03/bloggersvgiconlist.html" id="Blog1_blog-pager-newer-link" title="BloggerのSVG画像アイコン一覧">BloggerのSVG画像アイコン一覧</a>

次の投稿や前の投稿を変更するのは投稿の場合だけなので、投稿の時だけという条件を追加しています。次の投稿や前の投稿のidを変更すれば、どのテンプレートでも使えます。
<b:if cond='data:view.isPost'>
<script>
/*<![CDATA[*/
document.addEventListener('DOMContentLoaded',setPagerLinkTitleName);
function setPagerLinkTitleName(){
  setPageTitle('Blog1_blog-pager-older-link');
  setPageTitle('Blog1_blog-pager-newer-link');
}
function setPageTitle(objname){
  let obj=document.getElementById(objname);
  if(!obj) return;
  let link=obj.getAttribute('href');
  const page_path=link.split(location.hostname)[1];
  let feedUrl='/feeds/posts/summary?alt=json&path='+page_path+'&max-results=1';
  fetch(feedUrl)
  .then(response=>response.json())
  .then(json=>{
    if(json.feed.entry&&json.feed.entry.length>0) obj.textContent=json.feed.entry[0].title.$t;obj.setAttribute('title',json.feed.entry[0].title.$t);
  })
  .catch(error=>console.log(error));
}
/*]]>*/
</script>
</b:if>

条件次第で高速化するjavascriptもあります。
Blogger自作次ページタイトル設定・高速化
Blogger自作次ページタイトル設定・キャッシュ高速化
この記事のタイトルとURLをコピーする blogger
blogger