有没有办法只在特定时间提供某些行动?

时间:2012-08-19 09:21:50

标签: html css xhtml

有没有办法在HTML中预先编程的特定时间使可用?

对于示例:只能在特定时间工作的广播播放器,有时链接无效

2 个答案:

答案 0 :(得分:1)

是的,可以使用JavaScript。查看函数setTimeoutsetInterval。你可以在这里找到一个例子 - Call a javascript function at a specific time of day

如果出于某种原因你不能使用JavaScrip,另一个选择是使用一些服务器端技术(PHP,ASP.Net)来修改html,然后才能将响应返回给浏览器。在这种情况下,后端应检查当前时间是否有效,让用户单击链接并修改Html标记,使e。 G。链接是否可以点击。

答案 1 :(得分:1)

是的,使用javascript执行此操作。有很多方法:

第一种方法 - 由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;">&nbsp;</div>
</div>
<script>
setTimeout(function () {
  $(overlaydiv).css("display: block;")
},milliseconds until inactive);
</script>

如果安全性很重要,请小心

如果您使用javascript在用户的计算机上获取当地时间,请注意用户可能会对其时钟进行操作。所以你可能无法信任它。

您可以通过让服务器在页面加载时将实际时间保存在javascript变量中来降低此风险。但是,如果您使用计时器来查找时间变化,用户仍然可以操作他们的时钟。

如果它很重要,您应该在允许链接点击启动播放器之前执行AJAX请求来检查服务器时间(例如,使用第一种方法)。