jQuery Youtube player



这是一个两部分:

我一直在努力让它工作,但我是编码的新手。我想点击按钮#video,一个远程div #imageMain将播放。

我写了以下内容:

<script>
    $(document).ready(function(e) {
        var videoURL = <?php echo $row_rs_dealItem['video']; ?>;
        $('#video').click(function(e) {
            $('#imageMain').html('<iframe class="youtube-player" type="text/html" width="435" height="244" src="' + videoURL + '" frameborder="0"></iframe>');
        });
    });
</script>    

此外,有了这个脚本,HTML 中就会有一个脚本直接中断。如果我删除此脚本,则其他脚本可以正常工作。

videoUrl需要用引号引起来,因为它是一个字符串:

var videoURL = '<?php echo $row_rs_dealItem['video']; ?>';

我想这也是影响您的第二个代码块的错误。

我提供这个答案是出于必要。

创建 JavaScript 变量的正确方法是

var videoURL = "<?php echo $row_rs_dealItem['video']; ?>";

此外,以下语法也是可以接受的:

var videoURL = '<?php echo $row_rs_dealItem["video"]; ?>';

请注意,这两种方法都不能有重复的引号集,因为引号是 JavaScript 中的字符串分隔符。参考 这里 了解更多信息。

我相信 PHP 是在动态创建 iframe 标记后解释的,而不是在此之前,特别是在 jQuery 点击事件期间,因为这本身就是渲染 iframe。

这个完全不同的答案是在SO问题完全实现后提供的。

由于您的目标是拥有一个 jQuery 点击事件,该事件又将以 id #video 播放视频,因此您需要使用少数几个 YouTube API 之一来调用 YouTube 播放方法

YouTube有他们默认的Flash API,它基于他们的Flash AS3播放器,但他们也有一个HTML5 YouTube视频播放器,根据您的项目需求,带有Flash回退。

Flash API Playground 允许您测试 API 选项,该网站展示了一个实际示例,用于使用其嵌入 API 工具在 iframe 中启动视频。

这个jsFiddle中显示了这个练习示例,以及一个alert,指示视频即将使用API YouTube .playVideo()命令播放到iframe,这就是你的目标和问题(尽管存在潜在的PHP问题)。

至于我的另一个基于在jQuery点击事件中嵌入iframe播放器的SO答案,任何能够阐明该语法以及我对嵌入PHP(在iframe创建时)的理解的人都以我建议的方式并认为这是不正确的,将不胜感激。

此外,如果您的目的是在 jQuery 点击事件时注入一个videoID URL,这可能是随机的,具体取决于点击row,请说出来。

最新更新