Javascript 在jQuery计时器过期时更改YT视频。如果页面刷新,如何更改

Javascript 在jQuery计时器过期时更改YT视频。如果页面刷新,如何更改,javascript,jquery,timer,youtube-api,Javascript,Jquery,Timer,Youtube Api,我想让计时器倒计时到某个特定的时间。当时我希望YouTube视频切换。我得到了这么多。问题是,当您在过期时间后刷新时,页面将加载原始视频而不是新视频 我当前的html如下所示 此计数下降到+8秒,工作正常。如果我把它改到某个时间,它也会起作用。。但这时出现刷新问题 问题似乎在于始终是正确的, 根据文件: 到期时,将进行回调以允许您执行倒计时操作。通过将AlwaysSpire设置为true,即使在目标时间之后开始倒计时,也可以强制触发此事件 以及: 名称-始终保持精神状态 类型-布尔值 默认值-错

我想让计时器倒计时到某个特定的时间。当时我希望YouTube视频切换。我得到了这么多。问题是,当您在过期时间后刷新时,页面将加载原始视频而不是新视频

我当前的html如下所示
此计数下降到+8秒,工作正常。如果我把它改到某个时间,它也会起作用。。但这时出现刷新问题

问题似乎在于始终是正确的,
根据文件:

到期时,将进行回调以允许您执行倒计时操作。通过将AlwaysSpire设置为true,即使在目标时间之后开始倒计时,也可以强制触发此事件

以及:

名称-始终保持精神状态
类型-布尔值
默认值-错误
注释-如果为true,则即使计数器在目标时间之后启动,也会触发onExpiry事件。如果为false,则仅当计数器主动超时时才会触发事件

我试过重新安排顺序,没关系。我试过真假,运气不好。我已经三次检查了我的拼写,我甚至试着用alwaysExpire=true替换alwaysExpire:true,,但仍然一无所获。事实上,最后一个把一切都搞糟了

我还想知道问题是否出在我的转换码上,但正如我所说的那样,这确实有效。。只要在计时器过期时实际加载页面


参考:Keith Wood

看看你的HTML,你有这个问题是很正常的,因为你没有给它一个方法来记住上次播放的视频是什么。加载时,页面始终会通过以下视频启动: var ytid=“CD2LRROpph0”; 你也有nextvid硬编码。一种方法是将正在播放的当前视频存储在cookie中,当页面加载时,首先从该cookie读取视频的值,如果该值为空(用户从未在该页面上),然后将默认值提供给它。您还可以将所有视频ID存储在一个阵列中,以备将来扩展。
如果您需要有关实际cookie代码的帮助,请告诉我,但这应该可以帮助您。希望能有帮助。干杯。

饼干有点超出我的知识范围。这是我的想法,你可以告诉我我的逻辑是否错了。我有一系列的视频A、B、C、D、E等,我想从周一开始播放。我希望我的计时器倒计时到下午5点,然后切换到下一个视频。我的想法是,如果我设置今天和明天,然后让计时器安排在5点后随时显示B。然后我可以在晚上手动进入,并在今天\u video=B明天\u video=C循环,以此类推。稍后,是的,我想使用一个数组,但现在不应该这样做吗?假设用户永远无法重新加载页面并以线性方式使用它,那么你的模型会起作用,但你知道这并不能解决最初的问题。实际上,仔细看倒计时()方法它似乎已经在为您设置cookie。好的,如果今天时间允许,我将运行您的代码,并告诉您我能想出的最佳解决方案。干杯。假设用户永远无法重新加载页面并以线性方式使用它,那么您的模型将起作用,但您知道这并不能解决最初的问题。-我在想如果他们重新装弹也没关系。如果他们在晚上7点重新装弹。计时器已结束,但始终提示:true应确保它触发
更改\u视频
。我就快把这件事做好了,我不想从头开始,但如果我必须这样做,那就这样吧。
$(function () {
        $('#switchtimer').countdown({
                alwaysExpire: true,         // run "change_video" if time has already expired when you load
                until: expire_date,             // timer counts down to expire_date
                onExpiry: change_video,         // when timer hits 0; run "change_video"
                });
});
      function change_video() {
            ytid = next_vid
            player.cueVideoById(ytid);
        }