首页 新闻 搜索 专区 学院

[请教博客园的团队]如何根据博客园的评论ID获取用户头像的url?

1
[已解决问题] 解决于 2013-06-26 12:49

我对自己博客的评论样式进行了美化,让它能够显示评论者的头像:

http://www.cnblogs.com/coolcode/archive/2010/05/17/dotNet4_Expression_Tree_Beginning_2_IfThen_SwitchCase.html#1825843

 

以前的ok的,估计是博客园换了接口。

<a id="a_comment_author_1825843" href="http://www.cnblogs.com/ericwen/" target="_blank">EricWen</a>

根据评论的id 1825843,或用户账户ericwen, 但他的头像url是:http://pic.cnitblog.com/face/u26890.jpg

如何关联到呢?

CoolCode的主页 CoolCode | 初学一级 | 园豆:104
提问于:2013-02-05 17:49
< >
分享
最佳答案
0

现在的头像地址每次上传后会变化,我们会考虑提供一种方式让您方便地获取这个地址

奖励园豆:5
dudu | 高人七级 |园豆:36447 | 2013-02-05 18:12

谢谢dudu,期待ing...

CoolCode | 园豆:104 (初学一级) | 2013-02-05 23:40

@CoolCode: 现在可以获取头像的地址了,在评论内容增加了隐藏的img标签,比如:

<img style="display:none;" alt="" src="" class="comment-avatar" id="comment_1825951_avatar">

1825951是评论的id

dudu | 园豆:36447 (高人七级) | 2013-02-06 20:59

@dudu: 不行哦,

CoolCode | 园豆:104 (初学一级) | 2013-06-25 14:03

@CoolCode: @dudu 看了博客园的js,也没找到关于对.comment-avatar 样式的图片替换。。。

CoolCode | 园豆:104 (初学一级) | 2013-06-25 14:06

@CoolCode: 

由于img虽然display:none,但浏览器还会加载图片文件,所以后来改为span标签,比如:

<span id="comment_2712892_avatar" style="display:none;">http://pic.cnitblog.com/face/u8138.jpg</span>
dudu | 园豆:36447 (高人七级) | 2013-06-25 15:54

@dudu: 能否提供一个示例的blog地址呢?头像还是弄不出来

CoolCode | 园豆:104 (初学一级) | 2013-06-25 16:41

@CoolCode:

这个就可以取到头像的地址:

 

$("#comment_评论ID.avatar").html();

dudu | 园豆:36447 (高人七级) | 2013-06-25 16:56

@dudu: 我不知道是我表述不清还是怎样。现在我的需求是:根据评论ID获取头像,但找不到两者的关联,所以求助是否有这种url接口。然后,dudu你告诉我 <span id="comment_评论ID_avatar" ... />这种写法就可以了,然后呢?我hardcode了一句代码:<span alt="" src="" class="comment-avatar" id="comment_2120853_avatar" width="39px" height="39px"></span>

还是不行,你可以看看我的blog: http://www.cnblogs.com/coolcode/archive/2011/06/08/IQueryBuilder_v2.html#2120853

CoolCode | 园豆:104 (初学一级) | 2013-06-25 17:33

@dudu: 我现在开始参悟到你的想法了,你是说你已经提供了一个图片地址给我,用个隐藏span包住并放在html里。然后我通过批量id去获取这个隐藏值,是这样吗?

CoolCode | 园豆:104 (初学一级) | 2013-06-25 17:36

@CoolCode: 是这样的

dudu | 园豆:36447 (高人七级) | 2013-06-25 18:05

@dudu: ok了,谢谢dudu。

    $.each($(".blog_comment_body"), function (i, t) {  
        var comment = $(t);
        var commentBodyId =  t.id; 
        var commentId = commentBodyId.substr(commentBodyId.lastIndexOf("_")+1);
        var avatarUrl = $("#comment_"+ commentId+"_avatar").html();
......
});
CoolCode | 园豆:104 (初学一级) | 2013-06-26 12:48
其他回答(1)
1
//显示评论区头像
function showAvatar(){
    $(".feedbackItem").each(function(){
        var avatar = $(this).children(".feedbackCon").children("span:last").html();
        avatar = avatar ? avatar.replace("http://", "https://") : "https://pic.cnblogs.com/face/sample_face.gif";  //没有头像用默认头像
        //console.log( avatar );
        $('<img src="'+ avatar +'" class="avatar" />').prependTo( $(this).children(".feedbackCon") );
    });
}

$(function(){ setTimeout(function(){ showAvatar(); }, 1000) });
$(document).on("click", ".pager a", function(){
    setTimeout(function(){ showAvatar(); }, 1000);
});
北七星 | 园豆:206 (菜鸟二级) | 2018-08-23 16:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册