根据json调用,SoundCloud小部件未按预期格式化

时间:2014-08-14 16:57:49

标签: iframe widget soundcloud

我试图通过在点击链接时加载SoundCloud小部件来加速我工作的网站,但也按照我想要的方式设置SoundCloud小部件的样式,如下所示:

http://www.instrumentalbackgroundmusic.com/royalty-free-music/happy-go-lucky/

但是,我无法正确显示小部件的颜色和类型(即波形和头像)。

我已经浏览了SoundCloud documentation here,并提出了这个问题:

JS小提琴: http://jsfiddle.net/3nj7qrpz/1/

$(document).ready(function() {
    // Load iFrame on click
    $('.scload').click(function(){
        event.preventDefault();
        var formatPlayer    = '&iframe=true';
            formatPlayer   += '&color=0080ca'; // This doesn't do anything
            formatPlayer   += '&visual=false'; // This doesn't do anything
            formatPlayer   += '&auto_play=true'; // Play on load
            formatPlayer   += '&buying=false';
            formatPlayer   += '&download=true';
            formatPlayer   += '&show_playcount=true'; // This doesn't work
            formatPlayer   += '&show_reposts=false';
            formatPlayer   += '&show_artwork=true';
            formatPlayer   += '&show_user=false';
            formatPlayer   += '&show_comments=false';
            formatPlayer   += '&liking=true';
            formatPlayer   += '&hide_related=true';
            formatPlayer   += '&sharing=false';
            formatPlayer   += '&maxheight=166';
        var $link           = $(this);
        var getJSONstring   = 'http://soundcloud.com/oembed?format=js&url=' + $link.attr('href') + formatPlayer;
        // Replace contents
        $.getJSON(getJSONstring + '&callback=?', function(response) {
            $link.replaceWith(response.html);
        });
    });
});

某些电话似乎无法正常工作。任何人都可以看到问题是什么?我已经添加了哪些电话似乎无法在我的评论中发挥作用。

由于

大须

1 个答案:

答案 0 :(得分:1)

好的,我找到了一种方法来将窗口小部件类型更改为我正在寻找的样式。它与?visual=true有关,所以我通过jQuery将其更改为?visual=false。如果有更好的方法,请告诉我!

JS小提琴: http://jsfiddle.net/3nj7qrpz/2/

$(document).ready(function() {
            // Load iFrame on click
            $('.scload').click(function(){
                event.preventDefault();
                var formatPlayer    = '&iframe=true';
                    formatPlayer   += '&color=0080ca';
                    formatPlayer   += '&auto_play=true';            // Play once user clicks link!
                    formatPlayer   += '&buying=false';
                    formatPlayer   += '&download=true';
                    formatPlayer   += '&show_playcount=false';
                    formatPlayer   += '&show_reposts=false';
                    formatPlayer   += '&show_artwork=true'; 
                    formatPlayer   += '&show_user=false';
                    formatPlayer   += '&show_comments=false';
                    formatPlayer   += '&liking=false';
                    formatPlayer   += '&hide_related=true';
                    formatPlayer   += '&sharing=false';
                    formatPlayer   += '&maxheight=166';
                var $link           = $(this);
                var getJSONstring   = 'http://soundcloud.com/oembed?format=js&url=' + $link.attr('href') + formatPlayer;
                // Replace contents
                $.getJSON(getJSONstring + '&callback=?', function(response) {
                    var widget      = response.html;
                    var src         = $(widget).attr('src');
                    widget          = $(widget).attr('src', src.replace('?visual=true', '?visual=false')); // Update iFrame src
                    $link.replaceWith(widget);
                });

            });
        });