Я вызываю разные CSS-файлы в зависимости от размеров окна. У меня есть iFrames, которые выполняют функцию предварительного просмотра для пользователей, чтобы они могли видеть, как будет выглядеть их веб-сайт на мобильном телефоне, ПК, планшете и т. Д. iFrame на рабочий стол / ноутбук. Мне нужно найти идентификатор iFrames, так как CSS относится к этому iFrame.
Теперь Google Chrome постоянно сбрасывает значение window.innerWidth окна iFrame до 0. Все остальные браузеры в порядке, но мне было интересно, была ли возможность найти то, что я использую в то время, чтобы я мог написать конкретный CSS для него, даже если window.innerWidth или innerHeight равен 0.
В данный момент я использую вложенный оператор if. Вот небольшой фрагмент кода:
if(navigator.userAgent.match(/Windows NT/i)){
if(window.innerWidth < 1){if(document.getElementById('myiFrameName').contentWindow.document == true){document.write('<link rel="stylesheet" type="text/css" href="ui/mobile/css/site.css">');}}
Причина, по которой userAgent - это Windows NT, заключается в том, что iFrame открывается на ПК с Windows. Я не могу использовать screen.width, поскольку он всегда будет оставаться неизменным, потому что это iFrame на ПК. Есть идеи? Я понимаю, что приведенный выше фрагмент кода может быть совершенно неверным в отношении расположения iFrame.