0

HTML で事前にプログラムされた特定の時間にのみアクションを使用できるようにする方法はありますか?

: 特定の時間にのみ動作し、それ以外の時間はリンクがアクティブでないラジオ プレーヤー

4

2 に答える 2

1

はい、JavaScript を使用して可能です。関数setTimeoutまたはを参照してくださいsetInterval。ここで例を見つけることができます - Call a javascript function at a specific time of day

なんらかの理由で JavaScrip を使用できない場合は、サーバー側のテクノロジ (PHP、ASP.Net) を使用して、応答がブラウザーに返される前に html を変更するという別のオプションがあります。この場合、バックエンドは、ユーザーがリンクをクリックできるように現在の時刻が有効かどうかを確認し、たとえばリンクをクリックできるようにするかどうかなど、Html マークアップを変更する必要があります。

于 2012-08-19T09:28:01.487 に答える
1

はい、JavaScript を使用してこれを行います。多くの方法:

第 1 の方法 - JavaScript 関数によって制御されるリンク

<script>
function is_active() {
  if (/* working at this time */) return true;
  else return false;
}
</script>
<a href="..." onClick="return is_active();">...</a>

機能がリンクによって制御されている限り、これはおそらく最も簡単な方法です。

2 番目の方法 - クリックできないようにボックスをプレーヤーの上に置きます

<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 に答える