2011-05-23 97 views
0

在我的页面上,我在页面加载中加载音乐播放器中的一些曲目(http://dev.upcoming-djs.com)。使用Javascript加载动态内容的方式

哪个工作正常。

但是,当人们转到以下网址:http://dev.upcoming-djs.com/track/1/artist/title我想在页面加载时在播放器中加载另一个曲目。

目前玩家的JS代码:

var tracks = []; 
tracks.push({'url':trackurl, 'title':trackurl}); 

$('.upcoming-player-container').theplayer({ 
    links: tracks // contains an array with url's 
}); 

是静态的。

什么是最好的方式(并不意味着是主观的,只是不知道如何改写它)使其动态。

我正在考虑在我用JS检索的页面上的(隐藏)容器中添加一些超链接。

这是一个很好的方法吗? (因为我认为Google可能会将文字添加到搜索结果中)。

或者有更好的方法呢?

回答

1

假设玩家将依次播放的曲目,这里的一些代码,将通过URL /track/##/artist/title指定的轨道转移到播放列表的前面,大概打它首先在页面加载:

var tracks = [], 
    trackMatch 
    trackPlay; 

tracks.push({'url': trackurl,'title': trackurl}); 
// tracks.push etc... 

// find the track number 
trackMatch = window.location.href.match(/track\/(\d+)/i); 

// if found store as integer 
if (trackMatch) { 
    trackPlay = parseInt(trackMatch[1], 10); 
} 

// if found move selected track to front of tracks array 
if (trackPlay) { 
    tracks = [tracks[trackPlay - 1]] 
      .concat(tracks.slice(0, trackPlay - 1)) 
      .concat(tracks.slice(trackPlay)); 
} 

$('.upcoming-player-container').theplayer({ 
    links: tracks // contains an array with url's 
}); 
+0

获取它直接来自URL。我喜欢这个解决方案。 +1 – PeeHaa 2011-05-23 22:43:28