c.defaultView.getComputedStyle() не имеет значения в Firefox.

Я использую jquery на странице в домене «abc.com», и эта страница открывает iframe в домене «def.com», который также использует jquery (та же версия, и я пробовал разные версии от 1.5.2 до 1.6. 4). Фрейм открывается с помощью библиотеки jquery thickbox (больше не поддерживается...).

Моя проблема возникает в Firefox (любая версия от 3.X до 8.0), где я получаю ошибку javascript "c.defaultView.getComputedStyle(a, null) is null" при первой загрузке iframe и, следовательно, не могу получить доступ любой метод инициализации jquery:

$(function() {
  /* Does not pass here in firefox */
});

В любом другом браузере (chrome, т.е. Opera...) код работает, но в firefox мне приходится вручную перезагружать iframe (щелкните правой кнопкой мыши -> этот кадр -> перезагрузить)... Я прочитал несколько сообщений здесь, на SO о подобных проблемах, и каждый раз проблема заключается в конфликте двух библиотек jquery. В моем случае я не могу удалить один из JS, потому что две страницы находятся в разных доменах.

Спасибо за вашу помощь.


person Maxime Rossini    schedule 16.11.2011    source источник


Ответы (1)


Это связано со следующей ошибкой Firefox:

Ошибка 548397: window.getComputedStyle() возвращает null внутри iframe с display: none

Возможные решения включают установку ширины и высоты iframe на 0 или видимости на скрытый вместо использования display: none.

person Andy E    schedule 14.10.2014