javascript - 无法(以编程方式)将歌曲添加到播放列表

标签 javascript jquery jplayer

我是 JavaScript 新手,所以对于有任何经验的人来说我的问题可能很容易解决。我正在与几个 friend 一起创建一个音乐博客,并且正在尝试使用 jPlayer 制作自己的自定义音乐播放器。

我想要一个简单的 JavaScript 函数,您可以提供歌曲的标题和 mp3,并将其自身添加到 jPlayer 播放列表中。这是我拥有的 JavaScript 函数...

function add_song(title, mp3)
{
    myPlaylist.add({
        title:"Tempered Song",
        mp3:"http://www.jplayer.org/audio/mp3/Miaow-01-Tempered-song.mp3"
    });
}

我希望能够使用此代码在我 body 的任何地方调用该函数...

<script>
    add_song("Your Face", "http://www.jplayer.org/audio/mp3/TSP-05-Your_face.mp3");
</script>

然而,这实际上并没有添加歌曲。我猜测这与必须在 $(document).ready() 函数中设置 jPlayerPlaylist 有关。我猜测当我尝试调用 add_song() 时,我的变量“myPlaylist”未正确初始化。就像我说的,我是 JavaScript 新手,所以尽量让它对我来说简单。

您可以查看我的代码 my website更好地指导我解决我的问题。谢谢!

最佳答案

问题确实是您正在设置 jPlayerPlaylist 您调用add_song之后。浏览器阻止并运行<script>中的Javascript代码一旦遇到标签,即在 document.onload 之前并触发 jQuery 等效项。

您到底想要实现什么目标?您真的想在页面加载时加载一些硬编码的播放列表元素,还是真的想将它们附加到按钮或链接?对于前者,将函数调用移至 onload 函数,对于后者,创建新的事件处理函数并将它们附加到适当的元素。

如果您真的只是要在地址栏或其他位置手动提供该功能,它应该可以正常工作。在页面加载之前它根本无法工作。

关于javascript - 无法(以编程方式)将歌曲添加到播放列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13052846/

相关文章:

javascript - 将 Jplayer 视频播放与 Angular.JS 集成

javascript - 将函数绑定(bind)到 jPlayer 的 "next"控件

javascript - 由于 “Invisible [Flash] content is always blocked.”,jplayer的Flash后备广告无法在Chrome中使用

javascript - Tumblr 主题帖子 - 隐藏日期和标签不起作用

javascript - 延迟 onmouseover javascript

javascript - 统计同一个类的元素后,通过js添加元素

javascript - 小数点后4位以上的数字相乘

javascript - 在 useEffect 钩子(Hook)的 if 条件下调用异步函数

javascript - 使用 div 中的数据创建按钮

jquery - 在 Bootstrap 汉堡包按钮内垂直居中文本