5

スプラッシュ画像が上にある HTML5 ビデオがあります。デスクトップ デバイスでは、スプラッシュ イメージをクリックしてイメージを非表示にし、ビデオを再生します。携帯電話では、画像をクリックすると別のアプリケーションでビデオが再生されるため、ユーザーがクリックして Web ページに戻ったときに、スプラッシュ画像がまだそこにあるようにします (プレーン ビデオ コンポーネント、少なくとも私のAndroidフォンはかなり醜いです)。

ビデオが「インライン」で再生されるか、新しいアプリで起動されるかはどうすればわかりますか? インラインで表示されている場合はスプラッシュ画像を非表示にし、新しいアプリで起動されている場合は非表示にします。

1 つの方法は、ユーザー エージェントをスニッフィングして、それが電話かどうかを確認することです。明らかな理由から、これは良い考えではありません (新しい電話が出たときに壊れる可能性があり、何百ものデバイスでテストする必要があります)。もう 1 つの可能性は、ページを離れてビデオ プレーヤーにジャンプするとき、またはビデオ プレーヤーから戻るときに、何らかのイベントをキャッチすることです。しかし、何を釣るかはわかりません。私が考えた別の可能性は、タイマーを設定して、ビデオ コンポーネントのいくつかのプロパティをチェックすることです...それが再生されているかどうかを確認します...または何か。

問題が発生した場合に備えて、jQueryを使用しています。

4

2 に答える 2

4

iOS では、ビデオ要素にwebkitDisplayingFullscreenプロパティがあるため、それを確認して、ビデオがインラインかフルス​​クリーンかを確認できます。

var videoFullscreenStatus = document.getElementById("myVideo").webkitDisplayingFullscreen;

ビデオがフルスクリーンで再生されている場合、このプロパティは true であり、それ以外の場合は false です。したがって、理論的には、ビデオの再生が開始されるとすぐにこれを確認し、それに応じてポスター画像を設定できます.

私は Android にはあまり詳しくありwebkitfullscreenchangeませんが、全画面表示になったときに聞くことができるイベントがあります。それがモバイルで機能するかどうかはわかりません。iOS では機能しないと思います。

これは古い質問であることは知っていますが、これが誰かの助けになることを願っています!

于 2012-10-09T04:47:25.497 に答える