1

作成中の Web サイトに BGM を追加しました (私を殺さないでください)。
IEでは要素はBGSOUNDと呼ばれますが
、音楽を一時停止するボタンを用意しようとしました.ボタンは要素全体を削除して再度追加しますが、
要素を削除するとIEの音楽が再開されるだけです.

javascript を介して BGSOUND 要素によって再生されている音楽を停止するにはどうすればよいですか?

現在のコード:

<!--[if IE]>
    <BGSOUND id="bgmusic" SRC="<?php echo bloginfo('stylesheet_directory'); ?>/bgmusic.mp3" LOOP="true">
<![endif]-->

コマンドdocument.getElementById('bgmusic').stop()
を起動すると、 Object does not support property or method 'stop' が表示されます

4

6 に答える 6

2

厄介な回避策はvolume、-10000 に設定することです。

document.getElementById('bgmusic').volume = -10000;
于 2011-04-20T10:33:06.367 に答える
2

クライアントのページでも同様の状況がありました。bgsound 要素の src プロパティを削除することが、IE での音楽の再起動の問題を回避する最善の方法であることがわかりました。

var bgsoundElems = document.getElementsByTagName('bgsound');
for(var i = 0; i < bgsoundElems.length; i++){
   bgsoundElems[i].src = '';
}
于 2015-07-17T00:04:04.490 に答える
0

代わりに Flash を使用することをお勧めします。音楽をより細かく制御できるだけでなく、ブラウザ間でも機能します。今日では、 IEよりも多くのユーザーがFlash Playerを使用しています。

于 2011-04-20T10:14:54.877 に答える
0

ユーザーが押したときPause: 要素を削除し、変数に保存します
ユーザーが押したときPlay: 変数から要素を取得し、DOM に追加します

于 2011-04-20T10:18:12.897 に答える
0

stop() を実行したい場合は、src を空の値に設定するだけです。IE11 で動作します (IE8 エミュレーションでも)。

于 2015-04-29T17:30:12.790 に答える
0

SoundManagerの使用をお勧めします。

可能な場合は HTML5 オーディオを使用し、それ以外の場合は Flash にフォールバックします。また、統一された簡単な API を備えています。

于 2011-04-20T11:11:58.507 に答える