У меня есть карусель с множеством социальных вложений из Facebook, содержащих все видео. Я не буду вдаваться в подробности карусели Bootstrap, так как проблема уже видна на этом простом jsfiddle и связана с вложением Facebook.Предотвратите огромное количество вызовов xhr/ajax на Facebook вставлять iframe
Если вы загрузите эту страницу: https://jsfiddle.net/1L95vqn4/, и посмотрите на инструменты Chrome Dev на вкладке «Сеть» и отфильтруйте «XHR» (с отключенным кешем), вы увидите 34 запроса и загрузите 5.8Mb, прежде чем вы «играть» видео, загруженное через ajax с помощью iframe Facebook.
Я хотел бы ленить загрузить вес этих ajax-запросов fb, то есть загружать только эти вызовы, когда пользователь нажимает «воспроизводить видео».
Я очень удивлен, что ничего не нашел об этом в Интернете. Другие социальные сети, такие как twitter embed, не загружают видео до тех пор, пока пользователь не начнет воспроизведение. Огромный объем данных в приложении для встраивания Facebook загружается (5Mb, 15mb, 30mb ...) даже до воспроизведения видео.
Обратите внимание только на информацию о моей фактической более сложной проблеме: на моем веб-сайте я фактически не использую этот iframe, но стиль встраивания (но невозможно поставить ajax-запросы на jsfiddle или слишком сложно для меня). И моя реальная проблема заключается в том, что когда вы загружаете карусель, где на каждом слайде есть 20 видеороликов для facebook, тогда это добавляет огромный удар производительности, когда вы открываете карусель.
$.ajax({
url: 'https://www.facebook.com/plugins/post/oembed.json/?url=https://www.facebook.com/cocacola/posts/1526674334016658',
dataType: 'jsonp',
cache: false,
success: function (data) {
try {
var embed_html = (data.html);
$('div#item1').html(embed_html);
} catch (err) {
console.log(err);
}
}
});
Есть ли способ, чтобы предотвратить FB, чтобы загрузить весь этот Ajax XHR и mp4, затрагивающую производительность отложенной загрузки, или с любым другим способом?
Судя по источнику, я вижу, что эти xhr асинхронны. Итак, предварительная загрузка выполняется уже в фоновом режиме, какова производительность, которую вы упоминаете? – bashnesnos