【发布时间】:2015-12-16 14:37:58
【问题描述】:
我有一个包含页面 A、B、C、D 的网站。 在起始页 - A - 有一个 html5 视频,设置为自动播放。 所以视频开始加载页面。视频播放一次,结束时显示一个重播按钮。到目前为止还不错。 如果我访问页面 B 或 C,然后再次转到 A,视频将重新开始。 但我只想为每个访问者启用一次自动播放。 应该是这样的:访问网页,从页面 A 开始,观看一次视频,转到页面 B 或 C 或 D,再次返回 A(使用链接或返回按钮);并找到再次播放按钮,而不是再次播放的视频。
编辑:
感谢使用 cookie 的想法;现在我了解到,在欧洲这里有一条法律,您必须使用 cookie 告诉访问者,并在开始页面上让他选择是否接受它们。
所以我想为此目的使用 window.sessionStorage。
这是我的代码,告诉视频设置为 autoplay=false 并显示再次播放按钮 .on("ended", ...
$(document).ready(function () {
$("video").on("ended", function() {
$('video')[0].autoplay=false
$('video')[0].load()
$('.video-playing').removeClass('video-playing').addClass('video-wait');
$('.play').removeClass('hide_play');
});
$('.play').click(function(){
$('video')[0].play();
$('.video-wait').removeClass('video-wait').addClass('video-playing');
$('.play').addClass('hide_play');
});
});
HTML
<video id="header-video" class="video-playing" preload="auto" poster="">
<source src="" type="video/mp4">
<source src="" type="video/webm">
</video>
我的目标是:从页面 B 或 C 回到起始页 - A - (见上文)类 '.video-playing' 应该设置为 '.video-wait','.play' 到 'hide_play ' 并自动播放为“false”。
我认为使用 sessionStorage 最适合我,因为在打开新窗口时它应该从头开始。
不幸的是,我不知道如何在我的代码中实现该 sessionStorage。
【问题讨论】:
-
您可以使用 HTML5 localStorage,但这只有在他们关闭选项卡或浏览器窗口之前才会有效。
标签: javascript jquery html