You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Blogger同标签相关文章列表中排除当前浏览的博文

修改方案

核心逻辑

通过对比URL的方式过滤当前正在浏览的博文,只需要调整原有的JavaScript代码即可,模板部分无需修改。

改动点说明

  • 新增当前页面URL的获取逻辑,自动去除查询参数和末尾斜杠,提升匹配准确率
  • 请求相关文章接口时多请求1条内容,避免过滤当前博文后展示数量不足
  • 循环渲染时增加URL匹配判断,命中当前博文则直接跳过渲染

修改后完整JavaScript代码

// 先获取当前博文的URL,去除查询参数和末尾斜杠
var currentPostUrl = window.location.href.split('?')[0].replace(/\/$/, '');

$("#related-posts").each(function() {
    var v = $(this).text();
    $.ajax({
        // 这里把请求数量加1,避免过滤后不够展示
        url: "/feeds/posts/default/-/" + v + "?alt=json-in-script&max-results=" + (related_number + 1),
        type: 'get',
        dataType: "jsonp",
        success: function(e) {
            var u = "";
            var h = '<div class="related-wrap">';
            for (var i = 0; i < e.feed.entry.length; i++) {
                for (var j = 0; j < e.feed.entry[i].link.length; j++) {
                    if (e.feed.entry[i].link[j].rel == "alternate") {
                        u = e.feed.entry[i].link[j].href;
                        // 对返回的文章URL也做同样的格式化处理
                        u = u.replace(/\/$/, '');
                        break
                    }
                }
                // 新增判断:如果是当前博文直接跳过
                if (u === currentPostUrl) continue;
                var g = e.feed.entry[i].title.$t;
                var s = e.feed.entry[i].category[0].term;
                var y = e.feed.entry[i].author[0].name.$t;
                var c = e.feed.entry[i].content.$t;
                var $c = $('<div>').html(c);
                if (c.indexOf("//www.youtube.com/embed/") < -1) {
                    var p = e.feed.entry[i].media$thumbnail.url.replace('/default.jpg', '/mqdefault.jpg');
                    var k = p
                } else if (c.indexOf("<img") > -1) {
                    var q = $c.find('img:first').attr('src').replace('s72-c', 's1600');
                    var k = q
                } else {
                    var k = no_image
                }
                h += '<li><div class="related-thumb"><a class="related-img" href="' + u + '" style="background:url(' + k + ') no-repeat center center;background-size: cover"><span class="related-overlay"/></a></div><div class="related-content"><div class="related-tag"><a class="icon ' + s + '" href="/search/label/' + s + '">' + s + '</a></div><h3 class="related-title"><a href="' + u + '">' + g + '</a></h3></div></li>'
            }
            h += '</div><div class="clear"/>';
            $("#related-posts").html(h);
            $(this).find('.related-img').each(function() {
                $(this).attr('style', function(i, src) {
                    return src.replace('/default.jpg', '/mqdefault.jpg')
                }).attr('style', function(i, src) {
                    return src.replace('s72-c', 's1600')
                })
            })
        }
    })
});

注意事项

如果你的博客配置了固定链接带特殊后缀,或者有URL跳转规则,对比逻辑不生效的话,可以调整URL格式化的规则适配自己的站点即可。

内容的提问来源于stack exchange,提问作者Sean Taylor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 16:18:03