如何加载带有gravatar和jquery的页面?

时间:2008-11-26 06:19:16

标签: jquery asp.net-mvc gravatar

我正在使用gravatar为每个在页面上发布故事的用户加载头像。我也使用jquery来绕过页面上某些span元素的角。不幸的是,看起来在应用jquery效果之前抓取gravatar中的化身(没有gravatar代码,元素立即被舍入),因此元素在网站上可见后立即改变。有什么方法可以解决这个问题吗? (我使用的是asp.net mvc)

3 个答案:

答案 0 :(得分:1)

我想你是在使用网址加载gravatars,而不是ajax等。 document.ready()将在加载DOM时执行,不一定在加载所有(gravatar)图像时执行。您可以尝试在您的情况下使用window.onload事件。

答案 1 :(得分:0)

听起来好像你的gravatar加载脚本在修改外观的jQuery调用之前正在执行。有什么办法可以手动调用gravatar加载吗?如果是这样,您可以使用jQuery的document.ready首先调用您的装饰更改,然后调用gravatar加载。这样,在“更重要”的UI更改运行之前,您不会等待gravatars完成。

答案 2 :(得分:0)

以下是working JsFiddle demo如何使用JSONP调用API获取用户gravatar配置文件

   $("form").on("submit", function(e) {
        e.preventDefault();

        $.ajax("http://en.gravatar.com/" + md5($("#email").val()) + ".json", { dataType: "jsonp" })
        .done(function(result) { 
            for(var idx in result.entry)
            {
                var profile = result.entry[idx];
                console.log(profile);
                $("#displayName").text(profile.displayName);
                $("#avatar").attr("src", profile.thumbnailUrl);
            }
        }).fail(function(result) { console.log("fail", arguments); });


    });