Próbuję zbudować prosty suwak z obrazami i filmami z YouTube. Chcę, aby działał dobrze na urządzeniach dotykowych, dlatego chcę użyć ng-swipe-*
z modułu kątowego ngTouch
. Niestety przesunięcie nie działa nad iframe youtube. Próbowałem ustawić niższy z-index: -10;
, ale nie mogę odtworzyć wideo.Kątowe przesuwanie palcem z iftube ifrube
Czy masz pojęcie, jak rozwiązać ten problem?
Niejest fragment:
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>
(najlepszym sposobem, aby go przetestować, to uruchomić go w konsoli programisty Chrome i emulować na urządzeniu dotykowym)
To wydaje się być ten sam problem - http://stackoverflow.com/questions/28180672/youtube-cannot-swipe-past-iframe-in-carousel-slider - gdzie zalecamy użycie obrazu w miejscu iframe na początku. Czy to możliwe rozwiązanie? – jjbskir
@jjbskir, hmm, mógłbym użyć obrazu z niestandardowym przyciskiem odtwarzania i zamienić wideo i obraz po kliknięciu na ng-show, ale jeśli użytkownik wstrzyma wideo, nie będzie mógł ponownie machnąć palcem. Również nie wiem, czy można uruchomić wideo za pomocą przycisku niestandardowego;) – akn