我需要在标题中计算一个脚本,仅在周一至周五上午8:00到下午5:30之间显示。它需要保留在标题中以用于模板目的。
脚本如下:
<head><script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript" src="http://www.example.com/chat/scripts/livechat.js"></script></head>
现在我通常采取以下方法,但它不适用,因为这不是div:
<script>// get current time
var d = new Date(),
hours = d.getHours(),
mins = d.getMinutes();
day = d.getDay();
// if day is mon-fri and time is between 8am and 5:30pm
if(0 < day < 6
&& hours >= 8
&& (hours < 17 || hours === 17 && mins <= 30)){
$('.mydiv').show();
};</script>
我对如何使这项工作感到困惑。任何帮助将不胜感激。
答案 0 :(得分:1)
我认为你错了。 JS中的0 < day < 6
不正确。
if((day > 0 && day < 6 )
&& hours >= 8
&& (hours < 17 || hours === 17 && mins <= 30)){
$('.mydiv').show();
}
答案 1 :(得分:0)
通过Javascript在客户端执行此操作的缺点是用户可以破解代码并进行更改并使其加载,即使可能有一种解决方案是在服务器端处理该单行生成HTML 并在有或没有该行的情况下将其发回 例如,如果您使用的是Java和JSP,则可以在java中计算条件并将其存储在配置对象上,如:
<c:if test="{myappConfig.isLiveChatEnabled eq true}
//... include JS file
</c:if>
但是如果你想通过JS来做,你可以看看Determine if a date is a Saturday or a Sunday using JavaScript它将有助于构建条件语句。