jQuery Youtube播放器

问题描述 投票:2回答:3

这是两个部分:

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

php jquery youtube-javascript-api
3个回答
0
投票

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

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

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


0
投票

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

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

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

此外,还可以使用以下语法:

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

请注意,任何一种方法都不能有重复的引号集,因为引号是JavaScript中的字符串分隔符。有关更多信息,请参阅HERE

我相信PHP会在iframe标记内部被动态创建后解释,而不是在那之前,特别是在jQuery Click事件期间,因为它本身就是渲染iframe。


0
投票

完全实现SO问题后,提供完全不同的答案。

因为您的目标是让jQuery Click事件反过来播放id #video上的视频,您需要使用几个YouTube API's中的一个来调用YouTube播放方法。

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

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

这个例子显示在这个jsFiddle以及一个alert,表明视频即将使用API​​ YouTube .playVideo()命令播放到iframe,这是你的目标和问题(尽管有潜在的PHP问题)。

至于我的另一个SO答案是基于在jQuery Click事件期间嵌入iframe播放器,任何人都可以阐明这种语法以及我对PHP(在iframe创建时)以我建议的方式嵌入PHP的理解并认为它是不正确将得到积极的赞赏。

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

© www.soinside.com 2019 - 2024. All rights reserved.