Javascript 页面导航脚本在Blogger中无法完全工作

Javascript 页面导航脚本在Blogger中无法完全工作,javascript,blogger,Javascript,Blogger,我从Potilas女士那里学到了这个很棒的javascript,她通过调用博客提要中的标题信息,将我的下一个和上一个博客标题附加到上一个和下一个图标上。如果失败了,它会有一个备份,即从URL中提取信息,并以伪标题模式将其转换为标题 问题是,它只适用于我最新一半的博客帖子。之后,它将切换到psedoutitle模式 这是我不明白的。它应该能为500个职位工作。我的网站只有350+。那么,为什么它似乎只适用于最新的100多篇文章 还有,我能做些什么,这样我就可以在我超过500篇文章之后,增加这个脚本

我从Potilas女士那里学到了这个很棒的javascript,她通过调用博客提要中的标题信息,将我的下一个和上一个博客标题附加到上一个和下一个图标上。如果失败了,它会有一个备份,即从URL中提取信息,并以伪标题模式将其转换为标题

问题是,它只适用于我最新一半的博客帖子。之后,它将切换到psedoutitle模式

这是我不明白的。它应该能为500个职位工作。我的网站只有350+。那么,为什么它似乎只适用于最新的100多篇文章

还有,我能做些什么,这样我就可以在我超过500篇文章之后,增加这个脚本将用于的文章的数量

非常感谢你的帮助

这是剧本

<script type='text/javascript'>
// Post titles to Older Post and Newer Post links (without stats skew)
// by MS-potilas 2012. See http://yabtb.blogspot.com/
//<![CDATA[
var urlToNavTitle = {};
function getTitlesForNav(json) {
  for(var i=0 ; i < json.feed.entry.length ; i++) {
    var entry = json.feed.entry[i];
    var href = "";
    for (var k=0; k<entry.link.length; k++) {
      if (entry.link[k].rel == 'alternate') {
        href = entry.link[k].href;
        break;
      }
    }
    if(href!="") urlToNavTitle[href]=entry.title.$t;
  }
}
document.write('<script type="text/javascript" src="//'+window.location.hostname+'/feeds/posts/summary?redirect=false&max-results=500&alt=json-in-script&callback=getTitlesForNav"/>');
function urlToPseudoTitle(href) {
  var title=href.match(/\/([^\/_]+)(_.*)?\.html/);
  if(title) {
    title=title[1].replace(/-/g," ");
    title=title[0].toUpperCase() + title.slice(1);
    if(title.length > 28) title=title.replace(/ [^ ]+$/, "...")
  }
  return title;
}
$(window).load(function() {
 window.setTimeout(function() {
  var href = $("a.blog-pager-newer-link").attr("href");
  if(href) {
    href = href.replace(/\http\:[^/]+\//, "https");
    var title=urlToNavTitle[href];
    if(!title) title=urlToPseudoTitle(href);
    if(title) $("a.blog-pager-newer-link").html("&lt;&lt; Newer<br />" + title); 
  }
  href = $("a.blog-pager-older-link").attr("href"); 
  if(href) {
    href = href.replace(/\http\:[^/]+\//, "https");
    var title=urlToNavTitle[href];
    if(!title) title=urlToPseudoTitle(href);
    if(title) $("a.blog-pager-older-link").html("Older &gt;&gt;<br />" + title);
  }
 }, 500);
});
//]]>
</script>

//将标题发布到较旧的帖子和较新的帖子链接(无统计数据倾斜)
//作者:potilas女士,2012年。看见http://yabtb.blogspot.com/
//28)标题=标题。替换(/[^]+$/,“…”)
}
返回标题;
}
$(窗口)。加载(函数(){
setTimeout(函数(){
var href=$(“a.blog-pager-newer-link”).attr(“href”);
如果(href){
href=href.replace(/\http\:[^/]+\/,“https”);
var title=urlToNavTitle[href];
如果(!title)title=urlToPseudoTitle(href);
if(title)$(“a.blog-pager-newer-link”).html(“newer
”+title); } href=$(“a.blog-pager-older-link”).attr(“href”); 如果(href){ href=href.replace(/\http\:[^/]+\/,“https”); var title=urlToNavTitle[href]; 如果(!title)title=urlToPseudoTitle(href); if(title)$(“a.blog-pager-older-link”).html(“older
”+title); } }, 500); }); //]]>
看来我设法解决了

显然,尽管脚本说max results=500,但它实际上只提供了150篇文章。我不知道为什么

所以我只是添加了更多像这样的检索脚本来覆盖其余部分

document.write('<script type="text/javascript" src="//'+window.location.hostname+'/feeds/posts/summary?redirect=false&max-results=150&start-index=151&alt=json-in-script&callback=getTitlesForNav"/>');
function urlToPseudoTitle(href) {
  var title=href.match(/\/([^\/_]+)(_.*)?\.html/);
  if(title) {
    title=title[1].replace(/-/g," ");
    title=title[0].toUpperCase() + title.slice(1);
    if(title.length > 28) title=title.replace(/ [^ ]+$/, "...")
  }
  return title;
}
document.write(“”);
函数urlToPseudoTitle(href){
var title=href.match(/\/([^\/\]+)(\.*)\.html/);
如果(标题){
title=title[1]。替换(/-/g,”);
title=title[0].toUpperCase()+title.slice(1);
如果(title.length>28)title=title.replace(/[^]+$/,“…”)
}
返回标题;
}
非常感谢at的Adam为&start index=151扩展提供了解决方案