页面 Header 内的时间脚本

Time Script Within Header of Page

我需要为 header 中的脚本计时,使其仅在周一至周五上午 8:00 和下午 5:30 之间显示。出于模板目的,它需要保留在 header 中。

脚本如下:

<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>

我对如何进行这项工作感到困惑。任何帮助将不胜感激。

通过 Java 脚本在客户端执行此操作的缺点是用户可以侵入代码并更改并加载它,尽管也许一种解决方案是在服务器中处理该单行侧面生成 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 这将有助于构建条件语句。

我认为你在 if 中犯了一个小错误。 0 < day < 6 在 JS 中不正确。

if((day > 0 && day < 6  ) 
    && hours >= 8 
    && (hours < 17 || hours === 17 && mins <= 30)){

    $('.mydiv').show(); 
 }