Код отслеживания Google Analytics замедляет работу Iframe-Resizer?
У меня есть iframe с динамическим содержимым внутри, который должен отображаться на странице, и я бы хотел, чтобы он отображался как можно быстрее. Однако, похоже, существует некоторая задержка между тем, когда содержимое iframe загружается, и когда размер iframe изменяется на странице хоста. В настоящее время начальными размерами iframe являются высота = 0 и ширина = 100%, поэтому при загрузке содержимого в iframe iframe-resizer автоматически подстраивает его под правильную высоту.
Однако я заметил, что если в iframe есть видео с автоматическим воспроизведением, я могу слышать звук в течение минуты, пока размер iframe не изменится. При проверке консоли браузера я вижу предупреждающие сообщения о том, что iframe-resizer не отвечает, но через минуту или около того размер iframe изменится, и содержимое будет раскрыто.
У меня есть код отслеживания Google Analytics в содержимом iframe, и я заметил, что если я его удалю, iframe-resizer станет намного более отзывчивым и контент будет загружен быстрее. Как заставить iframe действовать в соответствии с кодом отслеживания Google Analytics, работающим внутри него? Как я могу заставить работать iframe-resizer до того, как скрипт GA завершит загрузку?
Кроме того, устанавливает ли начальную высоту iframe значение 0, а затем позволяет iframe-resizer изменять размер фрейма надлежащим образом для начальной загрузки динамического содержимого iframe?
изменить (добавить код): вот код, который я запускаю на странице хоста
var hzframe = iFrameResize({
checkOrigin: false,
initCallback: function(){
var x = document.getElementsByClassName("hzload");
var i;
for (i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
},
resizedCallback: function() {
var x = document.getElementsByClassName("hzload");
var i;
for (i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
}
},".hzframe");
если вы хотите увидеть все это в действии, вы можете проверить этот jsfiddle
В настоящее время у меня есть тот же код, который скрывает загрузочный GIF в initCallback и resizedCallback, потому что GIF не всегда скрывается initCallback.
1 ответ
Если вы просто размещаете видео в своем iFrame, это может сработать для вас.
https://css-tricks.com/NetMag/FluidWidthVideo/Article-FluidWidthVideo.php
Проблема с GA очень странная. Можете ли вы отложить ее запуск, если она блокирует запуск события загрузки страницы?