javascript - 使用 jQuery 更改 YouTube iframe src

标签 javascript jquery html

我正在尝试使用 jQuery 更改 YouTube 视频 iframe 源,但看起来遇到了跨源问题。我的 jquery 代码:

var videourl = $(".videourl").html();
$(".actualyoutube iframe").attr('src',videourl);

iframe 获取新的 src 值,但没有显示视频。有什么想法吗?

扩展说明:

有一个带有嵌入 youtube 视频的弹出式 div

<div class="youtubepopup">
    <div class="closeyoutube">X</div>
    <div class="actualyoutube">
        <iframe width="420" height="315" src="" frameborder="0" allowfullscreen></iframe>
    </div>
</div>

有一个 td 包含一个新的 src url。除了这个 td 之外,没有其他地方或方法可以获取此 url。

<td class="videourl">//youtube.com/whatevervideo</td>

还有一个脚本应该在打开的弹出窗口中添加 src 并在关闭时删除。

var videourl = $(".videourl").html();
$(".youtubecap").click(function() {
  $(".actualyoutube iframe").attr('src', videourl);
  $(".youtubepopup").fadeIn('slow');
});
$(".closeyoutube").click(function() {
  $(".youtubepopup").fadeOut('slow');
  $(".actualyoutube iframe").removeAttr('src');
});
$(".youtubepopup").click(function() {
  $(".youtubepopup").fadeOut('slow');
});

附注现在我已经列出来了,user3385530 可能是正确的

最佳答案

您无法在 iframe 中显示来自 www.youtube.com 的页面。正确的方法是在您的网页中使用他们的视频嵌入代码。 IFrame 嵌入更容易,您需要在 iframe 中显示的 URL 如下所示:

http://www.youtube.com/embed/VIDEO_ID_GOES_HERE

只需在您的网页中放置一个像这样的 iframe:

<div class="actualyoutube">
  <iframe width="560" height="315" src="http://www.youtube.com/embed/VIDEO_ID_GOES_HERE" frameborder="0" allowfullscreen></iframe>
</div>

最后,假设您能够使用 jQuery 从 URL 中提取视频 ID,您可以使用它来显示视频*:

var videoid = "S2ISrpNM-0s";
$(".actualyoutube iframe").remove();
$('<iframe width="420" height="315" frameborder="0" allowfullscreen></iframe>')
    .attr("src", "http://www.youtube.com/embed/" + videoid)
    .appendTo(".actualyoutube");

* 更改已显示 YouTube 视频的 iframe 的 src 属性无效;因此,我建议使用 destroy-iframe-recreate-iframe 方法。

关于javascript - 使用 jQuery 更改 YouTube iframe src,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26723720/

相关文章:

jquery - 在链接函数中将 css 设置为 $templateCache.get() html

javascript - 滚动经过全屏背景图像后如何更改导航栏背景颜色

javascript - 使用 Electron 打包器编译后取消隐藏应用程序的菜单栏

javascript - 即使 Angular 中没有数据,也会显示分页

javascript - 当我将 event.clientY 放入 setInterval 循环中时,它未定义

javascript - iMacros:使用 Javascript 和 EVAL 来替换变量中的文本

javascript - 单击按钮时填写必填字段

html - :last-child not working as expected?

HTML 对齐元素和字体颜色

javascript - 由于来自模板的 CSS,单选按钮被禁用