2012-02-08 4 views
0

がどのように検出することができないHTML5 イベントは、HTML5の要素で使用可能なイベント

if("onvolumechange" in document) { 
// DO ... 
} 

しかし、それはFirefoxでのみ動作します。

答えて

2

記事、Everything You Need to Know About HTML5 Video and Audioによると、支援のためにプローブする最も簡単な方法は、のラインに沿っている:

var video = document.getElementsByTagName('video')[0]; 
alert(video.canPlayType('video/ogg')); 

記事が言うように行く:

いくつかのレベルがあります。のサポート。最初に、ビデオ要素は がまったくサポートされない可能性があります。これはOpera 10.10とIE8の場合です。 このケースでは、あなただけのvideo要素内のコンテンツを置くことができ、それ がレンダリングされます(上記の例では、コンテンツはちょうど「ビデオ がサポートされていない」です)。この場合は何もする必要はありません。

第二に、ビデオ要素がサポートされる可能性がありますが、あなたは で使用するコーデックはありません。オペラ とFirefoxは、MPEG-4/H.264/AACをサポートしていませんがSafariは、のOgg/Theoraの/ Vorbisのをサポートしていません。これを検出するには、 メディア要素にcanPlayType()メソッドを使用するか、 のonerrorイベントリスナーを持つことができます。 コーデックがサポートされていないためにビデオの再生に失敗すると、エラーイベントが発生します。

私の知る限り、すべてのビデオ関連イベントのサポートを検出するために、何の簡単な方法(loadstart、進捗状況、中断、中止、エラー、空に、停滞し、loadedmetadata、loadeddata、canplay、canplaythrough、遊んではありませんタイムシフト、再生、一時停止、レートチェンジ、ボリュームチェンジ)を最初に起動させずに実行することができます。つまり、ボリュームを変更してエラーが返されるかどうかを確認してください。

はまた、W3は、質問者が選択しなかった理由をあなたはどのアップ票を受け取っていないか、決してなぜhttp://www.w3.org/2010/05/video/mediaevents.html

+0

わからないでのイベントとプロパティの検出と<ビデオ>要素の発射をデモ素敵なページを持っていることに注意してくださいあなたの答えは、しかし、私はちょうどあなたに同情アップ投票を与えた(また、あなたの答えは本当に役立った!)。 –

関連する問題