如果加载了YouTube缩略图,请与JS联系

问题描述 投票:0回答:1

我们为我们的网站(与BBC Wraith)建立了视觉回归测试。如果页面没有嵌入youtube视频,一切都很好。如果某个页面嵌入了一个页面,则有时会出现WRAITH在加载YouTube缩略图之前截取页面的屏幕截图。当然,我们可以延长Wraith的超时时间,让这些页面等待一段时间,以增加缩略图已存在的可能性 - 但可能有更好的解决方案。

因此,我们想了解是否有办法找出,如果加载了YouTube缩略图。

由于同源政策,我们无法使用JS访问YouTube iframe。

更新:我尝试使用YouTube iFrame API(https://developers.google.com/youtube/iframe_api_reference?hl=en#Events)并使用onReady-Event。当播放器准备好接收API调用时会触发它,但这似乎不需要加载缩略图。

还有其他想法吗? (例如,检查浏览器是否从youtube加载特定资源等)

谢谢。

javascript youtube youtube-iframe-api
1个回答
0
投票

如果我理解正确,您需要知道YouTube缩略图的加载时间。

如果是这样,您可以使用以下代码 - 它已改编自:

回答:JavaScript: Know when an image is fully loaded

$().ready(function() {

  $('img#youTubeVideoThumbnail').attr('src', 'https://i.ytimg.com/vi/wtKIVArS17w/hqdefault.jpg')
    .load(function() {
      alert('Image Loaded');
    })
    .error(function() {
      alert('Error Loading Image');
    });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<img id="youTubeVideoThumbnail" />

在前面的代码中,在加载缩略图时检测到,然后显示javascript警报。

使用的缩略图来自此视频 - Soweto

您可以将alert()替换为加载图像后需要执行的代码。

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