gpt4 book ai didi

javascript - 在 Blogger 中按标签导航下一篇和上一篇文章

转载 作者:行者123 更新时间:2023-11-30 21:21:31 26 4
gpt4 key购买 nike

我编写了一个代码,用于导航同一标签下的下一篇和上一篇文章。

此博客中的所有帖子将始终仅在 1 个标签下。该博客是为日本漫画 (Manga) 托管的,因此章节将位于 1 common 标签下,该标签是章节漫画的标题。

代码是:

<style>
#button_block_container
{
text-align:center;
}
#next, #prev
{
display: inline-block;
}
</style>
<script type="text/javascript">
//<![CDATA[
var pT="<data:post.title/>";
function recentpostslist(json) {
var eU=new Array();
var eT=new Array();
var current,k=0;
for (var i = 0; i < json.feed.entry.length; i++)
{
for (var j = 0; j < json.feed.entry[i].link.length; j++) {
if (json.feed.entry[i].link[j].rel == 'alternate') {
break;
}
}
eU[k] = "'" + json.feed.entry[i].link[j].href + "'";//bs
eT[k] = json.feed.entry[i].title.$t;
k++;
}
for(var i=0;i<k;i++)
{
if(eT[i]==pT)
current=i;
}
nb(current,eT,eU,k);
}
function nb(c,eT,eU,k)
{
var np=c-1;
var pp=c+1;
if(c!=0)
{
if(np!=0)
{
var next="<a href="+eU[np]+"><img src='https://1.bp.blogspot.com/-vbAhPUydPwA/WWuen8w2rsI/AAAAAAAAVP4/rutiJBBKz2kYTclTUKtq6W2vBm8pi6uaACLcBGAs/s1600/if_go-next_118773.png' alt='Next Chapter' title='Next Chapter' height='48' width='48'/></a>";
document.getElementById("next").innerHTML=next;
}
if(pp!=k)
{
var prev="<a href="+eU[pp]+"><img src='https://2.bp.blogspot.com/-jHxFGDn9aj0/WWueoDAidyI/AAAAAAAAVP8/O_okyJkKiE0j621B2b6d6AmWGDL_7SczACLcBGAs/s1600/if_go-previous_118774.png' alt='Previous Chapter' title='Previous Chapter' height='48' width='48'/></a>";
document.getElementById("prev").innerHTML=prev;
}
}
}
//]]>
</script>
<b:loop values='data:post.labels' var='label'>
<script expr:src='&quot;feeds/posts/summary/-/&quot;+data:label.name+&quot;?alt=json-in-script&amp;callback=recentpostslist&amp;max-results=999&quot;' type='text/javascript'/>
</b:loop>

逻辑很完美。当我将某个章节的标题放入变量 pT 并将其用作脚本回调

时,它会起作用
<script src="http://www.example.com/feeds/posts/summary/-/**LABEL NAME**?max-results=150&alt=json-in-script&callback=recentpostslist"></script>

但是当我将它放入 Blogger 模板时,我需要使用 expr:src 使其接受 data:label.name

这里顺便解释下我使用的变量。
eU 是一个数组,其中存储了给定标签下的所有帖子的 URL。
eT 是一个数组,其中存储了给定标签下的所有帖子标题。
pT用于存放当前浏览的章节名称。
我正在使用 for 循环:

for(var i=0;i<k;i++)
{
if(eT[i]==pT)
current=i;
}
nb(current,eT,eU,k);

在这里,它通过比较 eT 数组中的所有帖子标题与当前 if(eT[i]==pT)< 来找出当前帖子所在的数组索引,将找到的索引值存储在 current 中,然后我将它发送到具有当前索引的函数 nb(),以及数组和最后存储的数组索引 k.

np 存储下一篇文章的索引值。由于帖子是按 RecentpoSTList 顺序排列的,所以我必须执行 current-1 和 Prev post pp as current+1

if(np!=0) 用于判断是否没有下一篇文章,if(pp!=k) 用于判断是否没有上一篇文章。

现在是问题部分:当我在 Blogger HTML 模板中键入代码并将其保存并转到帖子时,根本没有显示任何帖子内容。
仅加载页脚和顶部页眉。

然后发现问题出在回调脚本上:

 <b:loop values='data:post.labels' var='label'>
<script expr:src='&quot;feeds/posts/summary/-/&quot;+data:label.name+&quot;?alt=json-in-script&amp;callback=recentpostslist&amp;max-results=999&quot;' type='text/javascript'/>
</b:loop>

请帮忙。

最佳答案

出现问题是因为分隔符(+")之间没有空格

代码应该改为 -

<b:loop values='data:post.labels' var='label'>
<script expr:src='&quot;feeds/posts/summary/-/&quot; +data:label.name+ &quot;?alt=json-in-script&amp;callback=recentpostslist&amp;max-results=999&quot;' type='text/javascript'/>
</b:loop>

关于javascript - 在 Blogger 中按标签导航下一篇和上一篇文章,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45137966/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com