如何在工具提示中嵌入 YouTube 视频?

Posted

技术标签:

【中文标题】如何在工具提示中嵌入 YouTube 视频?【英文标题】:How do I embed a YouTube video inside of a tooltip? 【发布时间】:2017-08-01 04:26:27 【问题描述】:

我正在尝试使用 MaterializeCSS 工具提示来显示 youtube 视频。我已将 jQuery 中的 html 属性设置为“true”,并将嵌入的 iframe 代码添加到 HTML 中的 data-tooltip 属性中。

我遇到了 html iframe 代码中的引号问题,它们阻止了标签关闭。我尝试使用 &quot 语法转义引号,但所做的只是显示 html 文本,而不是在工具提示中实际运行代码。我已经尝试过在内部使用双引号的单引号,并且只显示一个小的薄空白框。我假设这意味着 html 正在运行但不显示任何内容。有谁知道问题出在哪里?

jQuery

$('.test-tooltip').tooltip(
            delay: 50,
            html: true,
        );

HTML

<a class="test-tooltip" data-tooltip="<iframe   src="//www.youtube.com/embed/Q8TXgCzxEnw?rel=0" frameborder="0" allowfullscreen></iframe>" 

【问题讨论】:

@FarzinKanzi 因为 HTML title 属性只允许文本内容? 我认为标题是 Bootstrap API 的一部分,对吗?根据 Materialize 文档,我应该将 html 放在 jQuery 的 tooltip 属性中,但这似乎没有运行。 在父双引号内使用单引号即可。 当您将鼠标从工具提示上移开时,工具提示和视频一样消失。你最好使用popovers来达到这个效果。以这种方式使用 Tooltip 对用户来说是一个糟糕的用户体验。 【参考方案1】:

您可以添加另一个 div 或元素作为视频容器,并将其添加到弹出框作为 jQuery 函数的返回。

jQuery:

 $('.test-tooltip').popover(
   delay: 50, 
    html : true,
    content: $('#youtube_container')
    
  );

HTML:

<a class='test-tooltip' data-placement='top' title="Title" href='#'>Click</a>
<div id="youtube_container" style="display: none">
    <iframe   src="//www.youtube.com/embed/Q8TXgCzxEnw?rel=0" frameborder="0" allowfullscreen></iframe>
</div>

它应该可以工作。

【讨论】:

这可能是正确的想法,但执行起来并不完全正确。 display:none 需要切换或正常工作。当我删除 display:none 时,youtube 视频会出现在页面上,当我点击“点击”时,视频将出现在工具提示中。只是需要更多的调整才能使其工作。同样,我相信这是正确的方法。

以上是关于如何在工具提示中嵌入 YouTube 视频?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Laravel 中上传和显示嵌入的 youtube 视频

如何在华丽的弹出窗口中嵌入 youtube 视频?

如何在我的网站中嵌入私人 youtube 视频?

如何使用 Phonegap 在 Android 上嵌入 YouTube 视频

如何在 tableview 中获取 youtube 嵌入视频并在处理“完成”按钮时遇到问题

如何在较新版本的 Delphi 中嵌入 YouTube 视频?