在Ajax调用之后,Soundcloud的自定义播放器消失了

时间:2012-07-21 22:56:26

标签: ajax soundcloud

我使用soundcloud's custom javascript plugin创建了一个自定义播放器,到目前为止一切正常。自定义播放器使用单个链接,该链接提供指向要包含在页面中的混音或歌曲的链接,例如:

<a href="http://soundcloud.com/matas/hobnotropic" class="sc-player">My new dub track</a> 

但是现在我正在使用Ajax处理最终页面以动态加载页面,播放器(在加载的内容中)在页面加载后消失。

由于我不熟悉自定义播放器如何捕获它的数据,这是第一次尝试使用Ajax和pushstate我试图找出我还有什么需要添加到我的Ajax中的游戏仍然有效。

这是我正在使用的ajax:

    $(function(){
        var replacePage = function(url) {
            $.ajax({
                url: url,
                type: 'get',
                dataType: 'html',
                success: function(data){
                    var dom = $(data);
                    var title = dom.filter('title').text();
                    var html = dom.filter('#content').html();
                    $('title').text(title);
                    $('#content').html(html);
                }
            });
        }

        $('nav a').live('click', function(e){
            history.pushState(null, null, this.href);
            replacePage(this.href);
            e.preventDefault();
        });

        $(window).bind('popstate', function(){
            replacePage(location.pathname);
        });
    });

1 个答案:

答案 0 :(得分:0)

好的,这是答案。当然,我必须在调用之后再次调用播放器,并在ajax调用成功之后使用以下内容:

$('a.sc-player, div.sc-player').scPlayer();