我正在尝试在用户离开我的Ionic应用程序时从DOM中删除iframe,以便YouTube视频停止播放。
我正在使用pause
和resume
事件:
$ionicPlatform.on('resume', function() {
$rootScope.$broadcast('onResume');
});
$ionicPlatform.on('pause', function() {
$rootScope.$broadcast('onPause');
});
当我离开应用时会触发pause
事件,并且当我再次打开它时会触发resume
事件(我检查了时间,以确保它们都没有在{{1}上触发但是iframe不会从DOM中删除。
我在包裹iframe的resume
上使用ng-if="showVideo"
,并div
将其删除:
$scope.showVideo = false;
使用$scope.$on('onPause', function () {
$scope.showVideo = false;
alert(Date.now() / 1000);
});
事件切换页面时,它非常有效:
beforeLeave
当应用程序在后台时,Ionic可以做些什么限制?还有其他方法可以在用户离开应用时停止播放视频吗?
答案 0 :(得分:0)
我使用YouTube iframe API解决了它:
$scope.$on('onPause', function () {
$('iframe').each(function () {
this.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}', '*')
});
});
事实证明,当应用处于后台模式时,我们无法修改DOM,但我们可以与iframe进行通信。