У меня проблема, похожая на этого парня , за исключением того, что моя проблема связана со сценариями, а не изображениями.
Я использую комбинацию $.getScript()
и $(window).load()
динамически загружать JavaScript и использовать функции, которые загружаются после завершения загрузки скрипта.
В Chrome он работает хорошо, но Safari, похоже, всегда запускает событие onload
слишком рано.Мне было интересно, есть ли какой-нибудь способ заставить Safari ждать загрузки всех скриптов аналогично блоку document.body.offsetWidth
.Из того, что я понял (и из результатов, которые я увидел при тестировании), document.body.offsetWidth
блокируется до тех пор, пока не будут загружены стили и изображения, но, очевидно, не скрипты.
Редактировать: Возможно, стоит упомянуть, что это иногда работает в Safari, но я не вижу шаблона.Иногда событие вызывается до того, как скрипт полностью загружен и выполнен, и обработчик, передавший $(window).load()
, завершается ошибкой, потому что функции отсутствуют.