Sto cercando di creare un dispositivo di scorrimento semplice con immagini e video di YouTube. Voglio farlo funzionare bene sui dispositivi touch, quindi voglio usare ng-swipe-*
dal modulo ngTouch
di angular. Purtroppo lo scorrimento non funziona sull'iframe di YouTube. Ho provato a impostare inferiore z-index: -10;
, ma poi non riesco a riprodurre il video.Angular ng-swipe con iframe youtube
Avete qualche idea su come risolvere questo problema?
Ciè un frammento:
var app = angular.module('app', ['ngTouch']);
app.controller('ctrl', function($scope) {
$scope.msg = function(msg) {
alert(msg);
}
});
.ok {
width: 300px;
height: 100px;
background: green;
}
<script src="https://code.angularjs.org/1.4.8/angular.min.js"></script>
<script src="https://code.angularjs.org/1.4.8/angular-touch.min.js"></script>
<div ng-app="app">
<div ng-controller="ctrl" ng-swipe-right="msg('right')" ng-swipe-left="msg('left')">
<div class="ok">swipe works here</div>
<div>
<iframe width="300" height="200" src="https://www.youtube.com/embed/dQw4w9WgXcQ" frameborder="0" allowfullscreen></iframe>
</div>
</div>
</div>
(il modo migliore per provarlo, è di lanciarlo in console per sviluppatori di Chrome e di emulare il dispositivo touch)
Questo sembra essere lo stesso problema - http://stackoverflow.com/questions/28180672/youtube-cannot-swipe-past-iframe-in-carousel-slider - dove si consiglia di utilizzare un'immagine in luogo dell'iframe all'inizio. È una soluzione praticabile? – jjbskir
@jjbskir, hmm, Potrei usare l'immagine con il pulsante di riproduzione personalizzato, e sostituire il video e l'immagine al clic con ng-show, ma se l'utente mette in pausa il video non sarà più in grado di scorrere nuovamente. Inoltre, non so se è possibile avviare il video con un pulsante personalizzato;) – akn