.json没有在Safari,jQuery插件中显示

时间:2015-05-18 19:45:47

标签: javascript jquery json https safari

我创建了一个jQuery插件,按预期显示在Chrome中,但在Safari中,它没有加载以下网址,因此徽章显示出来:https://www.codeschool.com/users/audreyklammer.json

我认为这是问题所在。关于我应该使用console.log或做任何事情的任何想法都很突出?我会做的工作只是喜欢你的意见。

以下是我的GitHub上的完整代码,但也粘贴在下面: https://github.com/Klammertime/Badge-Widget/blob/master/dist/js/jquery.insignia.js

    ;(function($) {

    $(document).ready(function() {
        var insigniaList = $('.insignia');
        for(var i = 0; i < insigniaList.length; i++){
            var insigniaEntry = insigniaList[i];
            console.log(insigniaEntry);
            $(insigniaEntry).insignia(insigniaEntry.dataset.treehouse, insigniaEntry.dataset.codeschool);  
        }     
    });

    $.fn.insignia = function(usernameTreehouse, usernameCodeschool) {
        this.empty();
        if (usernameTreehouse) {
            getBadges(usernameTreehouse, this);
        }
        if (usernameCodeschool) {
            getBadges2(usernameCodeschool, this);
        }
    }

    function getBadges(usernameTreehouse, element) {
        $.ajax({
            url: "http://teamtreehouse.com/" + usernameTreehouse + ".json",
            type: "GET",
            crossDomain: true,
            dataType: "json",
            async: true,
            success: function(dataBack) {
                var badges = dataBack.badges;
                $(element).append("<h3>I have taken " + badges.length + " lessons and scored " + dataBack.points.total +
                    " points at Treehouse!</h3><div class=\"badges\"></div>");
                badges.forEach(function(badge, i) {
                    if (i < 7) {
                        element.find(".badges").append("<li class=\"badgeImages\"> <img src=' " + badge.icon_url + " '/></li>");
                    }
                });
            },
            error: function(dataBack) {
                console.log("something went wrong.");
                //this happen when call fails
            }
        });
    }

    function getBadges2(usernameCodeschool, element) {
        $.ajax({
            url: "https://www.codeschool.com/users/" + usernameCodeschool + ".json",
            type: "GET",
            crossDomain: true,
            dataType: "jsonp",
            async: true,
            success: function(dataBack) {
                console.log(dataBack);
                $(element).append("<h3>I have taken " + dataBack.badges.length + " lessons and scored " + dataBack.user.total_score +
                    " points at Codeschool!</h3><div class=\"badges2\"></div>");
                var badge = dataBack.badges;
                console.log(badge);
                badge.forEach(function(badge, i) {
                    if (i < 7) {
                        element.find(".badges2").append("<li class=\"badgeImages\"> <img src=' " + badge.badge + " '/></li>");
                    }
                });
            },
            error: function(dataBack) {
                console.log("something went wrong.");
                //this happen when call fails
            }
        });
    }

}(jQuery));

0 个答案:

没有答案