2

这是一个两方:

我一直在努力让它工作,但我是编码新手。我想点击按钮#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 中的脚本会直接中断。如果我删除这个脚本,其他的工作正常。

4

3 回答 3

0

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

因为您的目标是拥有一个jQuery Click 事件,该事件反过来会播放 id #video的视频,所以您需要使用几个YouTube API之一来调用YouTube 播放方法

YouTube 有他们的默认 Flash API,它基于他们的 Flash AS3 播放器,但他们也有一个 HTML5 YouTube 视频播放器和 Flash 后备,这取决于你的项目需要。

Flash API Playground允许您测试 API 选项,并且该网站显示了一个实际示例用于使用他们的 Embed API 工具在 iframe 中启动视频。

该实践示例显示在此jsFiddle中,并alert指示视频即将使用API YouTube.playVideo()命令播放到 iframe,这是您的目标和问题所在(尽管有潜在的 PHP 问题)。

至于我的其他 SO 答案,它基于在jQuery Click 事件期间嵌入 iframe 播放器,任何可以阐明该语法的人以及我对以我建议的方式嵌入 PHP(在 iframe 创建时)的理解,并认为它是不正确将不胜感激。

此外,如果您的意图是在jQuery Click EventvideoID发生时注入一个 URL ,这可能是随机的,具体取决于单击的内容,请这样说。row

于 2012-05-29T20:59:27.540 回答
0

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

创建 JavaScript 变量的正确方法是:

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

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

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

请注意,任何一种方法都不能有重复的引号集,因为引号是JavaScript中的字符串分隔符。在此处参考以获取更多信息。

我相信PHP将在动态创建时在 iframe 标记内进行解释,而不是在此之前,特别是在jQuery Click 事件期间,因为它本身正在渲染 iframe。

于 2012-05-29T10:53:10.860 回答
0

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

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

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

于 2012-05-29T10:02:25.163 回答