所以我的问题是,当观看视频时会增加历史记录,但问题是视频多次出现多次也会出现。
以下是代码:
function watch(video) {
document.location.hash = video["id"];
updateHistory(video);
$("#shareitlink").val(document.location.href);
var html = "<b>{0}</b><br>by {1}<br>{2} | {3} views";
$("#videoInfo").html(html.format(video["title"], video["uploader"], video["length"], video["views"]));
ytplayer.loadVideoById(video["id"]);
getRelated(video["id"], true);
return false;
}
function watchHistoricVideo(videoID) {
$.each(myhistory, function(key, val) {
if (val["id"] === videoID) {
watch(val);
return false;
}
});
}
function updateHistory(video) {
blacklist[video["id"]] = true;
myhistory.push(video);
var html = "<li class=\"history\">" +
"<img class= \"img-rounded\" src=\"{0}\"/>" +
"<p><b title=\"{2}\"><a class=\"extendedLink\" href=\"javascript:watchHistoricVideo(\'{1}\');\"><span></span>{2}</a></b><br>" +
"by {3}<br>" +
"{4} | {5} views</p>" +
"</li>";
$("#myhistory").prepend(html.format(video["thumbnail"],
video["id"],
video["title"],
video["uploader"],
video["length"],
video["views"]));
}
我尝试过使用数组等但不确定我在做什么(我是javascript的新手)。
答案 0 :(得分:0)
所以如果视频已经在历史中,那么它不应该被添加?或者视频是否应该添加到历史记录中,如果它不是最后播放的视频(即使它在之前的历史记录中)?
场景1:新视频位于历史记录中:
更改:强>
document.location.hash = video["id"];
updateHistory(video);
收件人:
if ($.grep(myhistory, function (item) { return item["id"] == video["id"]; }).length == 0) {
document.location.hash = video["id"];
updateHistory(video);
}
场景2:新视频只是最后一次观看的视频:
更改:强>
document.location.hash = video["id"];
updateHistory(video);
要强>
if (myhistory[myhistory.length - 1]["id"] != video["id"]) {
document.location.hash = video["id"];
updateHistory(video);
}