0

有没有办法让一个动作在 HTML 中预先编程的特定时间可用?

例如:仅在特定时间工作而在其他时间链接不活动的广播播放

4

2 回答 2

1

是的,可以使用 JavaScript。查看函数setTimeoutsetInterval. 您可以在此处找到示例 -在一天中的特定时间调用 javascript 函数

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

于 2012-08-19T09:28:01.487 回答
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 请求以检查服务器时间(例如,使用第一种方法)。

于 2012-08-19T09:31:41.623 回答