1

チャットが利用できるときにサイトに表示したい. 問題は、週末に開いていないことです。それらを除外するにはどうすればよいですか? それはできますか?

<html>
<body>
<script type="text/javascript">
function chatonoff(){
var now = new Date();
var hour = now.getHours();

if (hour >=9 && hour <=18)
{
document.getElementById("chat").src = "/bilder/butik/chat-open.png";
}
}
</script>
<img id="chat" src="/bilder/butik/chat.png" onload="chatonoff()">

</body>
</html>
4

2 に答える 2

2

あなたはこのようにすることができます

function chatonoff(){
    var now = new Date();
    var hour = now.getHours();
    var day = now.getDay();

    //Check if weekend : in this case, I assume that saturday == 6 and Sunday = 0
    //It depends on your location / timezone
    if(day != 6 && day != 0)
    {
        if (hour >=9 && hour <=18)
        {
            document.getElementById("chat").src = "/bilder/butik/chat-open.png";
        }
    }
}

編集

休日の除外について:

すべてのオフ日を含む配列を作成する必要があります。次に、現在の日が配列に存在するかどうかを確認します

  var offDaysListArray = ['2013-01-01','2013-01-02'];

  var now = new Date();
  var y = now .getFullYear();
  var d = (now .getDate() < 10) ? '0'+now .getDate() : now .getDate();
  var m = ((now .getMonth()+1) < 10) ? '0'+(now .getMonth()+1) : (now .getMonth()+1);

  //Check if it is a closed day
  if(offDaysListArray.indexOf(y + '-' + m + '-' + d) != -1)    
      return false; //It is a close day

indexOfIE8 などの古いブラウザにはこの機能が実装されていないので注意してください。indexOf が配列 IE8 で機能しない理由を確認してください。

于 2013-01-11T07:28:25.017 に答える
2

これは非常に単純な答えですが、JavaScript はクライアント側で実行されるため、思い通りには機能しません。

これは、世界の反対側にいる誰かが、あなたにとっては土曜日であっても、HIS FRIDAY にあなたのチャットを見ることができることを意味します (日曜日/月曜日の例もここで機能します)。理想的には、Java / .NET / PHP などのサーバー側言語または使用しているものを使用して、これを解決します。

JavaScript の簡単な修正は次のとおりです。

    <html>
    <body>
        <script type="text/javascript">
        function chatonoff(){
            var now = new Date();
            var hour = now.getHours();
            var day = now.getDay();
            if (hour >=9 && hour <=18 && day >= 1 && day <= 5)
            {
                document.getElementById("chat").src = "/bilder/butik/chat-open.png";
            }
        }
        </script>
        <img id="chat" src="/bilder/butik/chat.png" onload="chatonoff()">
    </body>
    </html>
于 2013-01-11T07:29:54.840 に答える