Я запускаю сценарий (взломать), чтобы обмануть Safari, чтобы правильно определить размер видео на отзывчивой странице. Скрипт ниже ждет момента, затем скрывается, а затем показывает видео, в результате чего Safari понимает, что он должен расширить видео до нужного размера.
Я обеспокоен тем, что $(document).ready
может запустить сценарий слишком рано (т. Е. До загрузки видео), в результате чего сценарий не будет делать то, что он должен делать с видео. Возможно ли, что с $(document).ready
сценарий может срабатывать, но так как видео не загружается после установленного миллисекунды, что видео не будет скрыто/показано?
Должен ли я использовать window.onload
(или другой метод?) Вместо этого, чтобы гарантировать, что мой сбой/показ калибровки взлома работает?
В моих тестах сценарий в основном работает, даже при перезагрузке, когда я очищаю кеш. Но несколько раз, когда я загружал страницу на случайных компьютерах, видео не будет правильно изменяться до тех пор, пока я не перезагружу страницу. Использование window.onload
кажется менее идеальным в том, что пользователь может заметить видео с неправильным размером при загрузке содержимого страницы или просмотреть взломанное действие после его выполнения.
<script><!-- Super hack to toggle display block/none which tricks Safari into properly sizing video-->
$(document).ready(function() {
$("#video1").delay(3000).hide(0, function() {
$("#video1").delay(3500).show();
});
});
</script>
Я немного очистил ваше начальное утверждение. Огромные блоки слов могут отвратить людей от вопроса, поэтому я попытался сделать его более управляемым, разделив его на связанные абзацы (и добавил форматирование кода, что также улучшает читаемость) – River
См. Http://stackoverflow.com/a/3698214/5277935 – AMACB