gpt4 book ai didi

javascript - Fancybox 弹出一次 session

转载 作者:行者123 更新时间:2023-11-29 16:12:52 27 4
gpt4 key购买 nike

我有一个带有 fancybox 的弹出窗口出现在加载页面上。

我需要一次显示弹出窗口,如果用户更改页面并返回带有弹出窗口的页面不会显示第二次。

我读过可以使用 cookie 插件 ( https://github.com/carhartl/jquery-cookie ) 但我不明白如何集成到这段代码中......

我有一个简单的 html/css 网站。

这是代码:

<!DOCTYPE html>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title></title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"> </script>
<script type="text/javascript" src="jquery.fancybox-1.3.1.js"></script>
<link rel="stylesheet" type="text/css" href="jquery.fancybox-1.3.1.css" media="screen" />
<script src="jquery.cookie.js"></script>


<script type="text/javascript">
function openFancybox() {
setTimeout(function () {
$('#yt').trigger('click');
}, 500);
};
$(document).ready(function () {
var visited = $.cookie('visited');
if (visited == 'yes') {
return false; // second page load, cookie active
} else {
openFancybox(); // first page load, launch fancybox
}
$.cookie('visited', 'yes', {
expires: 7 // the number of days cookie will be effective
});
$("#yt").click(function() {
$.fancybox({
'padding' : 0,
'autoScale' : false,
'transitionIn' : 'none',
'transitionOut' : 'none',
'title' : this.title,
'width' : 680,
'height' : 495,
'href' : this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
'type' : 'swf',
'swf' : {
'wmode' : 'transparent',
'allowfullscreen' : 'true'
}
});
return false;
});
});
</script>
</head>

<body onload='$("#yt").trigger("click");'>

<a id="yt" href="https://www.youtube.com/watch?v=ROTYmNckBCw&amp;fs=1&amp;autoplay=1"><img src="http://fancyapps.com/fancybox/demo/1_s.jpg" alt=""/></a>
</body>
</html>

最佳答案

为了浏览器的一致性,您可能需要在第一次延迟 fancybox 加载执行,所以请尝试以下代码:

function openFancybox() {
// launches fancybox after half second when called
setTimeout(function () {
$('#yt').trigger('click');
}, 500);
};
$(document).ready(function () {
var visited = $.cookie('visited'); // create the cookie
if (visited == 'yes') {
return false; // second page load, cookie is active so do nothing
} else {
openFancybox(); // first page load, launch fancybox
};
// assign cookie's value and expiration time
$.cookie('visited', 'yes', {
expires: 7 // the number of days the cookie will be effective
});
// your normal fancybox script
$("#yt").click(function () {
$.fancybox({
// your fancybox API options
});
return false;
});
});

请参阅此 JSFIDDLE 处的代码

注意事项:

  • 为了查看 cookie 的工作情况,您可能需要使用 jsfiddle 的全屏模式 http://jsfiddle.net/aVE9N/show/
  • 我建议您(至少)将您的 fancybox 版本从 v1.3.1 更新到 v1.3.4
  • 假定您正在正确加载 jQuery cookie plugin在你的页面上

关于javascript - Fancybox 弹出一次 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23431862/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com