Задать вопрос
alexbuki
@alexbuki
программист js

Почему при загрузке скрипта внутри iframe приходит window.innerWidth == 0?

Привет!
Столкнулся со следующей проблемой.
На страничку загружается iframe, внутри которого в скрипте я завязываюсь на window.innerWidth и в зависимости от значения показываю мобильную или десктопную версию.
Иногда, в редких случаях innerWidth == 0, ну и соответсвенно на десктопе показывается мобильная версия приложения.
Почему такое происходит?

Дополнение - заметил такую особенность, что innerWidth == 0 срабатывает(не всегда! может 1 из 5 раз) только когда не стоит галочка в хроме disable cache. Предполагаю, что может быть как-то связано с тем, что скрипт начинает испонятся сразу, до проставления в window нужных значении.

Еще возможно, что как-то срабатывали adBlock, но все было выключено.

P.S я в коде отказался от завязки на это свойство, теперь смотрю на UA.
  • Вопрос задан
  • 273 просмотра
Подписаться 4 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@ikutin666
потому что сначала iframe грузится а потом все необходимые скрипты и контент, для отлавливания истинного размера нужно делать через message https://learn.javascript.ru/cross-window-messaging...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы