Steuert das Overlay für Videos auf dem iPhone / iPad

8

Ich schreibe eine Webapp, wo ich ein Video und einige (nicht standardmäßige) Steuerelemente dafür anzeigen muss, die im Overlay erscheinen sollen. Erstellen Sie also einige Divs und positionieren Sie sie über dem Video mit einem höheren Z-Index.

Auf iPhone und iPad scheinen diese Steuerelemente nicht anklickbar zu sein. Ich registriere Aktionen für das Klickereignis, aber das wird nicht ausgelöst, wenn ich auf die Steuerelemente tippe. Ich verstehe, dass ich keine Kontrolle haben kann, während das Video tatsächlich abgespielt wird (es geht sogar in den Vollbildmodus), aber das Problem ist, dass die Steuerelemente auch dann unbrauchbar sind, wenn das Video gestoppt wird.

Ich habe auch versucht, das Attribut controls aus dem Video ohne Wirkung zu entfernen.

  

Gibt es eine Möglichkeit, Klickereignisse für Elemente zu registrieren, die über einem Video auf dem iPhone / iPad positioniert sind?

    
Andrea 30.11.2011, 11:37
quelle

2 Antworten

4

Ich hatte das gleiche Problem und habe es funktioniert, indem ich die CSS-Eigenschaft des HTML5-Videoelements während

gesetzt habe

pausiert bis -webkit-transform:scale(0.01);

spielt bis -webkit-transform:scale(1);

Das Problem besteht darin, dass das HTML5-Videoelement unter iOS anscheinend die Klickereignisse in den Bereichen (der Elemente, die über dem Layer liegen) entführt, die in der Bounding Box des Videoelements enthalten sind. Wenn die Begrenzungsbox mit der Skalierung (0,01) verkleinert wird oder die Begrenzungsbox mit translateX (-2560px) vom Bildschirm entfernt wird, befinden sich keine Elementbereiche direkt über dem Videoelement und die Klickereignisse werden ausgelöst.

    
luwes 20.01.2012 11:36
quelle
0

Eine Sache, die man versuchen sollte, ist, dass das Element mit den Steuerelementen das gesamte Video und nicht nur einen Teil davon blockiert - das wird Ihnen auf jeden Fall helfen, es zu debuggen. Ein anderer Ansatz besteht darin, Berührungsereignisse anstelle von Klickereignissen zu verwenden. Diese laufen schneller und werden normalerweise nicht überfahren. Beispielcode wäre hilfreich.

    
Michael Drob 07.12.2011 19:12
quelle