10

iPad Web アプリ内の HTML5 Video 要素にいくつかのイベントをアタッチしようとしていますが、起動していないようです。これをデバイスとシミュレーターの両方でテストしましたが、同じ結果が得られました。ただし、イベントは(少なくとも onclick の場合)デスクトップ Safari で正常に動作します。また、ビデオ要素を div に交換しようとしましたが、イベントは正常に発生しますか? 他の誰かがこれに遭遇し、回避策を考えていますか?

<html>
        <head>
                <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
                <title>Test video swipe</title>
        </head>
        <body>

                <video src='somevid.mp4' id='currentlyPlaying' width='984' height='628' style='background-color:#000;' controls='controls'></video>

                <script>
                        var theVid = document.getElementById("currentlyPlaying");

                                theVid.addEventListener('touchstart', function(e){
                                        e.preventDefault();
                                        console.log("touchstart");
                                }, false);

                                theVid.addEventListener('click', function(e){
                                        e.preventDefault();
                                        console.log("click");
                                }, false);

                                theVid.addEventListener('touchmove', function(e){
                                        console.log("touchmove");
                                }, false);

                                theVid.addEventListener('touchend', function(e){
                                        console.log("touchend");
                                }, false);

                                theVid.addEventListener('touchcancel', function(e){
                                        console.log("touchcancel");
                                }, false);



                </script>
        </body>
</html>
4

2 に答える 2

16

コントロール属性を使用すると、iPad のビデオ要素はイベントを飲み込みます。要素をタッチ イベントに応答させたい場合は、独自のコントロールを提供する必要があります。

于 2010-09-27T12:28:59.403 に答える
9

過去数週間の私自身のかなり辛い経験から、私はそのようなリストを始めることができます(少なくともiPad3.2の場合)。これらの「機能」のいくつかは文書化されているかもしれませんが、関連する文を見つけるのは難しいことがよくあります。

  • プロパティは無視されます(volume設定でき、変更されたように見えますが、デバイスの実際の音量は影響を受けません)。
  • currentTimeプロパティは読み取り専用です。これに対する私の回避策は、を呼び出すload()ことです。これにより、少なくともクリップの先頭にリセットできます。
  • コントロールが表示されていない限り、onendedイベントは確実に投稿されません。これに対する私の回避策は、イベントを監視し、timeupdateと比較するcurrentTimeことです。duration
  • あなたが言うように、autobufferそしてautoplay無効にされています。
  • アプリケーションのキャッシュ設定に関係なく、ビデオはローカルにキャッシュされません。
  • <video>多くのcssルールは、タグに適用すると期待どおりに機能しないようです。どちらも効果がないように見えます。つまり、ビデオを暗くしたり非表示にしたりすることはできませんopacityz-index設定することはできますがdisplay:none、それは非常に突然です。

私が言うように、これはおそらく完全なリストではありません、そして私は追加または修正を歓迎します。

(また、多くのグーグルの後、モバイルSafariでサポートされているQTプラグインのメソッドとプロパティのわずかなサブセットのリストをここで見つけました)。

于 2010-10-16T15:35:58.213 に答える