Javascript 关于在触发点击事件时停止youtube视频的建议

Javascript 关于在触发点击事件时停止youtube视频的建议,javascript,jquery,youtube,youtube-api,Javascript,Jquery,Youtube,Youtube Api,我已经设置了一些测试代码,加载到youtube视频中,然后在我计划停止视频的链接上设置了一个jquery click事件,但是当我单击该链接时,我得到了错误:Uncaught TypeError:Object[Object Object Object]没有“stopVideo”方法 有人能告诉我这件事哪里出了问题吗 <div id="container"> <a href="#">This is the link</a> <br /&

我已经设置了一些测试代码,加载到youtube视频中,然后在我计划停止视频的链接上设置了一个jquery click事件,但是当我单击该链接时,我得到了错误:Uncaught TypeError:Object[Object Object Object]没有“stopVideo”方法

有人能告诉我这件事哪里出了问题吗

 <div id="container">
    <a href="#">This is the link</a>

    <br /><br />
    <br /><br />

    <div id="player"></div>
</div>


 <script>
        var tag = document.createElement('script');
        tag.src = "http://www.youtube.com/player_api";
        var firstScriptTag = document.getElementsByTagName('script')[0];
        firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

        // 3. This function creates an <iframe> (and YouTube player)
        //    after the API code downloads.
        var player;
        function onYouTubePlayerAPIReady() {
            player = new YT.Player('player', {
            height: '390',
            width: '640',
            videoId: 'u1zgFlCw8Aw'
            });
        }

        function onPlayerReady(event) {
            event.target.playVideo();
        }

        $(document).ready(function() {
            $('a').click(function(e) {
                player.stopVideo();
                e.preventDefault();
            });
        });
 </script>





var tag=document.createElement('script'); tag.src=”http://www.youtube.com/player_api"; var firstScriptTag=document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(标记,firstScriptTag); // 3. 此函数用于创建(和YouTube播放器) //API代码下载后。 var播放器; 函数onYouTubePlayerAPIReady(){ player=新的YT.player('player'{ 高度:“390”, 宽度:“640”, videoId:'u1zgFlCw8Aw' }); } 函数onPlayerReady(事件){ event.target.playVideo(); } $(文档).ready(函数(){ $('a')。单击(函数(e){ player.stopVideo(); e、 预防默认值(); }); });
您的代码片段可以按预期在应用程序中工作。此外,由于
postMessage
实现的限制,YouTube帧API在
文件://
协议下无法运行

我之前创建了YouTube API的自定义实现,可在上获得。我已经在
文件://
协议中成功执行了
停止视频
方法

如果您正在联机运行代码,我只能想到另一个原因:您试图在播放器准备就绪之前单击链接。要修复此问题,请合并您的函数:

    function onPlayerReady(event) {
        event.target.playVideo();
        $('a').click(function(e) { //<--- Binds event to ALL anchors! Are you sure?
            player.stopVideo();
            e.preventDefault();
        });
    });
函数onPlayerReady(事件){
event.target.playVideo();

$('a')。单击(函数(e){//您的代码片段在a中可以正常工作。此外,由于
postMessage
实现的限制,YouTube框架API在
文件://
协议中无法正常工作

我之前创建了YouTube API的自定义实现,可在上获得。我已在
文件://
协议中成功执行了
停止视频
方法

如果您正在联机运行代码,我只能想到另一个原因:您试图在播放机准备就绪之前单击链接。若要修复此问题,请合并您的函数:

    function onPlayerReady(event) {
        event.target.playVideo();
        $('a').click(function(e) { //<--- Binds event to ALL anchors! Are you sure?
            player.stopVideo();
            e.preventDefault();
        });
    });
函数onPlayerReady(事件){
event.target.playVideo();
$('a')。单击(函数(e){//