我正在开发一个项目,该项目有一个Flash视频,一旦加载到页面上就会自动播放。我的客户希望它只在第一次有人访问该页面时自动播放。随后的访问(在同一会话中)将加载视频,但保持暂停状态。
Flash视频有一个JS功能,我可以调用它来暂停或播放视频。所以我的想法是在用户访问该页面后设置一个cookie,并让它在随后的访问中触发回调。
//wait until everything has loaded
$(window).load(function(){
//set a cookie
$.cookie('welcome_cookie', 'welcome');
//check for the cookie and call the pause function
if($.cookie('welcome_cookie')){
controlPlayback('pause');
}
});
这样可行,但它会在第一次暂停视频...如何才能使回放功能仅在返回此页面时触发?
答案 0 :(得分:4)
只需在第一次检查后切换顺序设置cookie;
//wait until everything has loaded
$(window).load(function(){
//check for the cookie and call the pause function
if($.cookie('welcome_cookie')){
controlPlayback('pause');
}
//set a cookie
$.cookie('welcome_cookie', 'welcome');
});
您可能不必在每个页面加载时设置cookie,所以为什么不设置cookie,如果没有设置;
//check for the cookie and call the pause function
if($.cookie('welcome_cookie')){
//pause video player
controlPlayback('pause');
} else {
//set a cookie
$.cookie('welcome_cookie', 'welcome');
}
答案 1 :(得分:2)
为什么你需要一个cookie,cookie分别在每个请求和响应时传入和传出服务器。因此,您要在服务器上发送您真正不需要的数据。你真正需要的是本地存储。
$(window).load(function(){
//If not first visit then pause
if(localStorage['not_first_visit']){
controlPlayback('pause');
}
//Set
localStorage('not_first_visit')=true;
});