这是一个两部分:
我一直在努力让它工作,但我是编码的新手。我想点击按钮#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
,请说出来。