承接[Ionic][AngularJS] 載入Youtube影片,想要離開畫面就停止播放,該怎麼做呢?因為進到下一頁,正在播放的影片還沒有被移除,就會持續播放下去。
在controllers.js中寫:
.controller('ResultCtrl', function($scope, $sce) {
$scope.pauseVideo = function() {
console.log('postMessage pauseVideo');
var iframe = document.getElementsByTagName("iframe")[0].contentWindow;
iframe.postMessage('{"event":"command","func":"' + 'pauseVideo' + '","args":""}', '*');
}
$scope.playVideo = function() {
console.log('postMessage playVideo');
var iframe = document.getElementsByTagName("iframe")[0].contentWindow;
iframe.postMessage('{"event":"command","func":"' + 'playVideo' + '","args":""}', '*');
}
$scope.$on('$ionicView.beforeLeave', function(){
console.log('pauseVideo');
$scope.pauseVideo();
});
$scope.$on('$ionicView.enter', function(){
console.log('playVideo');
$scope.playVideo();
});
})
還要在Youtube影片網址後方連接參數⋯⋯
?enablejsapi=1
格式會像是:https://www.youtube.com/embed/uSmcLz2FAUI?enablejsapi=1
程式碼才會有作用喔~
參考:How to pause or stop an iframe youtube video when you leave a tab view or minimise your Ionic App。
HappyMan・迴響