Как я могу сказать, какой iFrame я использую, вызывая его имя или идентификатор, используя javascript? - PullRequest
0 голосов
/ 09 января 2012

Я вызываю разные 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.

...