Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在iOS7 Safari上关闭并重新打开嵌入式YouTube视频后播放_Javascript_Jquery_Ios7_Youtube_Safari - Fatal编程技术网

Javascript 在iOS7 Safari上关闭并重新打开嵌入式YouTube视频后播放

Javascript 在iOS7 Safari上关闭并重新打开嵌入式YouTube视频后播放,javascript,jquery,ios7,youtube,safari,Javascript,Jquery,Ios7,Youtube,Safari,这里对JS来说比较新。我创建了一个按钮,当你点击它时,它会在页面上嵌入YouTube视频,用户可以关闭它。在桌面和Android操作系统上,它可以根据用户的需要关闭和重新打开任意次数。但是,在iOS上,视频仅第一次播放 我认为这个问题是因为苹果不希望视频在未经用户许可的情况下播放,所以当你点击播放按钮时,它会调出视频——但当视频关闭并重新打开时,默认的YouTube播放按钮本身不存在 这应该是大部分相关代码 VideoPlayer = new VideoPlayer('Header',

这里对JS来说比较新。我创建了一个按钮,当你点击它时,它会在页面上嵌入YouTube视频,用户可以关闭它。在桌面和Android操作系统上,它可以根据用户的需要关闭和重新打开任意次数。但是,在iOS上,视频仅第一次播放

我认为这个问题是因为苹果不希望视频在未经用户许可的情况下播放,所以当你点击播放按钮时,它会调出视频——但当视频关闭并重新打开时,默认的YouTube播放按钮本身不存在

这应该是大部分相关代码

    VideoPlayer = new VideoPlayer('Header', 'xi2-7FCuDdg');
    $("#HomePlayButton").on('click', function () {
        disable_scroll();
        VideoPlayer.play();
        $("#Header").append($('<a href="#" id="VideoCloseButton"><img src="/images/close.png" /></a>'));
        $("#VideoCloseButton").on('click', function () {
            VideoPlayer.stop();
            VideoPlayer.hide();
            enable_scroll();
            $("#VideoCloseButton").unbind('click');
            $("#VideoCloseButton").remove();
            return false;
        });
    });

    this.play = function () {
        if (!Initialized) {
            //  This autoplays the video
            Init();
            Initialized = true;
        } else {
            if ($("#" + YouTubeElementId).css('display') == "none") {
                $("#" + YouTubeElementId).css('display', 'block');
            }
            YouTubePlayer.playVideo();
        }
    }

    this.stop = function () {
        YouTubePlayer.stopVideo();
    }

    this.isPlaying = function () {
        return (Initialized) ? YouTubePlayer.getPlayerState() == 1 : false;
    }

    this.hide = function () {
        $("#" + YouTubeElementId).css('display', 'none');
    }

    this.show = function () {
        $("#" + YouTubeElementId).css('display', 'block');
    }
我假设解决这个问题的最简单方法是在每次视频关闭时完全销毁iframe并创建一个新的iframe,但我无法成功实现这一点


如果有必要,我很高兴发布更多代码。

我不知道我的经验有多相关,但我最近在UIWebView中使用iFrame开发了一个应用程序内YouTube播放器,我们遇到了一些问题,视频在最后停止播放时,本机控件不再工作,尤其是在全屏播放时。我们将其归因于媒体框架中的苹果漏洞。我们没有尝试重新加载iFrame,但当我回到这段代码时,这将是我的下一步攻击。