Javascript - 带有 cookie 检查器的延迟按钮

Javascript - delayed button with cookie checker

我正在尝试做一些我力所能及的事情。我在网站上使用之前的脚本在视频时间 1 分钟后显示 Button。因此,当视频播放器到达 01:00 时,会显示该按钮,然后将其保存到 cookie 中,这样您下次访问该页面时,它就会立即显示,您无需再等待 1 分钟即可显示该按钮.

但现在我正在尝试将此计时器连接到网站时间,而不是视频时间,我很迷茫。

索引页中的函数调用:

<script type="text/javascript">
var minuten = 0;
var sekunden = 5;

//==========================
cartt(minuten, sekunden);   
</script>

这是视频时间的原码:

 $("#video").fitVids(); 
 var video = new Vimeo.Player($('#video iframe'));
 function cart(minuten, sekunden) {

    var button = $('.cart');
    var seconds = (minuten * 60) + sekunden;
    var url = window.location.pathname;
    url = url.split("/");
    var seite = url[url.length -1];
    var cookie_string = "cartbutton_" + seite + "=show";
    var cookieIsSet = function() { return document.cookie.indexOf(cookie_string) != -1; };

    if(!cookieIsSet()) {
        button.hide();

        video.on('timeupdate', function(data) {
            if (data.seconds >= seconds && !cookieIsSet()) {
                button.show();
                document.cookie = cookie_string + "; max-age=259200";
            }
        });
    }

}

这就是我尝试获取网站时间的方式:

window.onload=function(){
      var start=Date.now();

}
function cartt(minuten, sekunden) {

    var button = $('.cartt');
    var seconds = (minuten * 60) + sekunden;
    document.write(seconds);
    var url = window.location.pathname;
    url = url.split("/");
    var seite = url[url.length -1];
    var cookie_string = "cartbutton_" + seite + "=show";
    var cookieIsSet = function() { 
        return document.cookie.indexOf(cookie_string) != -1; 

        };



    if(!cookieIsSet()) {

     start.on(function(data) {
            if (data.seconds >= seconds && !cookieIsSet()) {
                button.show();
                document.cookie = cookie_string + "; max-age=259200";
            }
        });

        button.hide();


    }

}

(代表OP发表).

这个是我自己弄的,因为没有答案而且我在网上找不到这个答案,我会分享我的解决方案。

在索引页上:

  <script type="text/javascript">
    var videoShow = getCookie('video-show');
    jQuery(document).ready(function() {
        if(videoShow) {
            jQuery('.cartt').show();
        }
        else {
            setTimeout(
                function(){
                    jQuery('.cartt').show();
                    setCookie('video-show', 1, 365);
                }, 5000            );
        }
  });
    </script>

脚本:

function setCookie(c_name,value,expiredays)
{
var exdate=new Date();
var dpath = '/';
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toUTCString())+";path="+dpath;
}

function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    {
    c_start=c_start + c_name.length+1;
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    }
  }
return "";
}