iOS Safari detect when user clicks “Done” in native player

雨燕双飞 提交于 2019-12-21 14:00:30

问题


I am basically trying to open a new tab in the Safari iPhone Mobile Browser (iOS 7) when the user clicks the "Done" button in the Native video player. This is the action flow:

  1. User Plays HTML5 Video (Clicks the Play Icon)
  2. Mobile Safari Opens Fullscreen Player 3 User Clicks Done

I tried various approaches and none of these events are working.

  1. ended
  2. webkitendfullscreen
  3. pause

Any ideas on on what may be a suitable solution? If you want to check out the work I have done so far here is the code and the JSFiddle Link: http://jsfiddle.net/r8bRE/

<script>
    var myVideo = document.getElementById("nVideo");   

    myVideo.addEventListener("pause", function() {
       window.open("http://www.google.com", "_blank");
       window.focus();
    }, false);    

    myVideo.addEventListener('webkitendfullscreen', function() {
       window.open("http://www.google.com", "_blank");
       window.focus();
    }, false);  
</script>

回答1:


I banged my head on this for quite a few hours today. Initially, I was getting the 'webkitfullscreenchange' event to fire, but it was not being triggered on mobile. Eventually I found the event 'webkitendfullscreen', which is fired when the video is closed. Here is the code:

$('video').bind('webkitendfullscreen', function()
{ 
    console.log('on webkit close'); 
});

Hope this helps.



来源:https://stackoverflow.com/questions/18489680/ios-safari-detect-when-user-clicks-done-in-native-player

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!