我们为我们的网站(与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加载特定资源等)
谢谢。
如果我理解正确,您需要知道YouTube缩略图的加载时间。
如果是这样,您可以使用以下代码 - 它已改编自:
$().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()
替换为加载图像后需要执行的代码。