我想在我的投资组合中添加音乐,但问题是在网站上导航。当有人从家到项目时,音乐会重新开始。
我意识到我需要JavaScript。因为我不想使用AJAX页面加载,所以创建了jQuery脚本,将经过的时间写入cookie TimeElapsed
:
$(document).ready(function(){
function SetCookie(Value) {
$.cookie('TimeElapsed', Value, { path: '/' });
}
if($.cookie('TimeElapsed') === null || $.cookie('TimeElapsed') === "" || $.cookie('TimeElapsed') === "null" || $.cookie('TimeElapsed') === undefined) {
$("audio").get(0).play();
UpdateTime();
} else {
$("audio").get(0).play();
$("audio").get(0).pause();
$("audio").get(0).currentTime = $.cookie('TimeElapsed');
$("audio").get(0).play();
console.log('Start Time: '+$("audio").get(0).currentTime);
UpdateTime();
}
function UpdateTime() {
$("audio").on("timeupdate", function(event){
SetCookie(this.currentTime);
});
}
})
这个脚本在浏览Opera和Google Chrome时效果很好,但是当我使用Mozilla Firefox或某些Android手机浏览器时,它会返回错误并且音乐无法播放。
Firefox中的错误:
InvalidStateError:尝试使用不是的对象, 或者不再可用
在线:
$(" audio")。get(0).currentTime = $ .cookie(' TimeElapsed');