gpt4 book ai didi

javascript - 在 Blogger 中浏览相同标签下的下一篇和上一篇文章

转载 作者:行者123 更新时间:2023-11-27 23:15:56 28 4
gpt4 key购买 nike

首先我希望你阅读
Next and Prev Buttons for Blogger Theme

了解我想要的概念吗?那么让我们继续我的问题:

现在我有了已经嵌入到下一个和上一个按钮主题的代码,它们是:

<nav class='op-pagi'>
<a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-older-link&quot;' expr:title='data:olderPageTitle'><i class='fa fa-angle-left'/> Prev</a>
<a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-newer-link&quot;' expr:title='data:newerPageTitle'> Next <i class='fa fa-angle-right'/></a>
</nav>

然后使用我之前问过的问题,例如:
How to store the URL's and Titles of a list of posts under same label into a String array in Blogger
How to match and point to a particular data in array in Blogger

我自己做了一个代码:

<script>
//<![CDATA[

<b:if cond='data:blog.searchLabel'>

var URLArray = <b:eval expr='data:posts map (post =&gt; post.url)'/>;
var TitleArray = <b:eval expr='data:posts map (post =&gt; post.title)'/>;

var cURL = "<data:post.url/>";
var gTitle = "<data:post.title>";
function IndexFinder(element,index) {
return element == cURL
}
function IndexFinderT(element,index){
return element == gTitle;
}
var sU = URLArray.findIndex(IndexFinder);
var sT = TitleArray.findIndex(IndexFinderT);

function prevURL(){
var prevU=URLArray[sU-1];
return prevU;
}
function prevTitle(){
var prevT=TitleArray[sT-1];
return prevT;
}
function nextURL(){
var nextU=URLArray[sU+1];
return nextU;
}
function nextTitle(){
var nextT=TitleArray[sT+1];
return nextT;
}

</b:if>
//]]>
</script>

现在我尝试通过更改 expr:href='data:olderPageUrl' expr:href 使用我首先显示的下一个和上一个按钮的代码='prevURL()'
标题也一样
expr:title='data:olderPageTitle' expr:title='prevTitle()'
但没有用。

你能告诉我我哪里出错了以及如何让它工作吗?

注意:我使用 CDATA 标签没有特别的原因,只是把它放在那里认为它可能在某种程度上有所帮助。即使在谷歌上搜索,我也不明白它的确切用法。如果它导致任何问题,请提及。

最佳答案

因为 prevURL()prevTitle() 都是 JavaScript 函数而不是 Blogger 数据标签,所以您不需要使用 expr 在属性前面。

您需要按如下方式修改函数 -

function prevURL(){
var prevU=URLArray[sU-1];
document.querySelector('.blog-pager-older-link').href = prevU;
}

function prevTitle(){
var prevT=TitleArray[sT-1];
document.querySelector('.blog-pager-older-link').title = prevT;
}

下一页链接也类似。无需更改页面的 HTML。

也如其他答案中提到的Bassam。不要将 JavaScript 包装在 CDATA 指令中,否则,Blogger 使用的 XML 解析器将完全忽略脚本 block ,并且不会评估任何数据标记

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

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