有没有办法让一个动作只在 HTML 中预先编程的特定时间可用?
例如:仅在特定时间工作而在其他时间链接不活动的广播播放器
是的,可以使用 JavaScript。查看函数setTimeout
或setInterval
. 您可以在此处找到示例 -在一天中的特定时间调用 javascript 函数。
如果由于某种原因您不能使用 JavaScrip,另一种选择是使用一些服务器端技术(PHP、ASP.Net)在响应返回到浏览器之前修改 html。在这种情况下,后端应检查当前时间是否有效以让用户单击链接并修改 Html 标记,例如链接是否可单击。
是的,使用 javascript 来做到这一点。很多种方法:
<script>
function is_active() {
if (/* working at this time */) return true;
else return false;
}
</script>
<a href="..." onClick="return is_active();">...</a>
这可能是最简单的方法,只要功能由链接控制
<div style="position:relative;">
player here - including links to start/stop
<div id="overlaydiv"
style="position: absolute; left: 0; top: 0; width: 100%; height: 100%;
opacity: 50%; background-color: white;"> </div>
</div>
<script>
setTimeout(function () {
$(overlaydiv).css("display: block;")
},milliseconds until inactive);
</script>
如果您使用 javascript 获取用户计算机上的本地时间,请注意用户可能会操纵他们的时钟。所以你可能无法信任它。
您可以通过让服务器在页面加载时将实际时间保存在 javascript 变量中来降低这种风险。但是,如果您使用计时器来查找时间变化,用户仍然可以操纵他们的时钟。
如果它很重要,您可能应该在允许单击链接以启动播放器之前执行 AJAX 请求以检查服务器时间(例如,使用第一种方法)。