0

我使用soundcloud 的自定义 javascript 插件创建了一个自定义播放器,到目前为止一切正常。自定义播放器与单个链接一起工作,该链接提供了您想要包含到页面中的混音或歌曲的链接,例如:

<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);
        });
    });
4

1 回答 1

0

好的,这就是答案。当然,在ajax调用成功后,我必须在调用后再次调用播放器:

$('a.sc-player, div.sc-player').scPlayer();
于 2012-07-21T23:59:20.073 回答