使用Javascript加载动态内容onload的方法

时间:2011-05-23 21:50:13

标签: javascript

在我的页面上,我在页面加载时在音乐播放器(http://dev.upcoming-djs.com)中加载了一些曲目。

哪种方法正常。

但是当人们访问以下网址时: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 个答案:

答案 0 :(得分: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
});