2011-12-10 2 views
1

javascriptの警告メッセージが表示されている間、繰り返しサウンドを再生し、警告メッセージが表示されなくなったときに停止するにはどうすればよいですか?javascriptの警告メッセージが表示されている間、繰り返しサウンドを再生し、警告メッセージが閉じられたときに停止するにはどうすればよいですか?

私は既にページにHTML5サウンド要素を持っています。

私が試してみた:

while(alert("foobar alert!")) 
{ document.getElementById('foobarTune').play();}; 

無駄に。

私はちょうど行うことができます知っている:

document.getElementById('foobarTune').play(); 
alert("foobar alert!") 

一度警告する前に実行するために取得します。

私の主な関心事は、アラート中に実行され、アラートボックスが起動している間にそれを繰り返すことです。ユーザーがアラートボックスを閉じると停止します。

+2

私は質問に答えることができませんが、これは私に信じられないほど迷惑になることに注目する価値があるようです。そして、おそらく私はすぐに騒音をオフにするために、あまりにも厳密に読んで気にせずに、警告/警告/を却下させるでしょう。 –

+0

私は趣味のウェブサイトのタイマー機能のために使っています:voodooroo.comあなたはそれを「タイマー(秒)」ボタンの下部に表示しています。したがって、タイマーの場合、ユーザーがアラートを期待すると考えるのはかなり合理的です。私はあなたがいない、私の質問では、私はそれが迷惑であるかどうかについての意見を探していないと付け加えるつもりでした。私は実際にこれについて言及しているのは皮肉なので、これだけを言います。 – Dave

+0

公正であるために、あなたがそれについて聞くのに興味がないとあなたが明言していたなら、私はまだコメントしていたでしょう。ちなみに、あなたはその免責事項を質問に追加することを考慮し、質問を読んだ後は私が最初に考えていたことを、適切かつ適切なUI機能であるかどうか(客観的に/批判的に)検討してください。 –

答えて

2

あなたは、音声を再生するためにhtml 5を使用していると仮定します。ループ属性を参照してください。 その後alert()の後の行でstop()を呼び出してください。 alert()はスクリプトの実行をブロックするので、動作します。

+2

ありがとう。できます。注:stop()は機能しませんでした。私はそれを見つめた。 HTML5仕様では、pause()メソッドが使用されています。 – Dave

2

alertはブロックコールです。ステートメントはアラートボックスが閉じられるまで実行されません。

alertの呼び出しの前に、サウンドを再生するには、setTimeoutを使用してループを開始する必要があります。 alertへの呼び出しが完了したら、あなたのタイマー/タスクを削除することができます。

+0

HTML 5を使用したchrisの答えは+1です。 – ziesemer

関連する問題