Все остальные методы не будут работать , потому что ...
... Mozilla (и все другие основные браузеры, как указано в комментарии Пейсли) имеет эту вещь, называемую «Одинаковая политика происхождения» , которая гласит:
Такая же политика происхождения не позволяет документу или сценарию, загруженному из одного источника, получать или задавать свойства документа из другого источника.
По сути, Mozilla гарантирует, что вы не можете получить доступ к свойствам другой веб-страницы через JavaScript, потому что это может представлять угрозу безопасности (для кражи файлов cookie и тому подобное).
Например, здесьбыл похожий вопрос при обсуждении фрейма для страницы того же происхождения;вот ответ применительно к вашей проблеме .Как вы можете видеть в консоли ошибок Firefox, ваше «разрешение на доступ к документу свойств запрещено» ...
Хорошо, теперь у вас есть несколько вариантов, и вы знаете, что не можете получить доступ к высоте iframe через JavaScript(, поскольку он размещен в другом домене ):
- Измените его, чтобы контролировать содержимое iframe (затем поместите его в тот же домен или воспользуйтесь размещенным решениемв аналогичном вопросе ).
Предполагая, что 1 невозможно, вы должны использовать свой сервер для доступа к веб-странице.Первым вариантом здесь будет очистка содержимого iFrame на экране, а затем его отображение
- Если вы не хотите писать скребок для экрана, вы можете использовать прокси-скрипт и затем отобразить iframeваш прокси (размещенный на том же сервере);это позволит вам получить доступ к сайту, как если бы он был вашим собственным, и пользователь не заметит никакой разницы ( Примечание: Я почти уверен, что это противоречит всем условиям обслуживания / возможно, незаконно как пользовательможет попытаться взаимодействовать с веб-сайтом (если он не загружен через прокси-сервер) в iframe (то есть при входе в систему) ... и вы будете эффективно фишинговать)
ЯПредполагая, что в iframe загружен набор комментариев (идентификаторы вроде его выдавали), я также позволю себе предположить, что каждый комментарий имеет фиксированную высоту или максимальную высоту.В этом случае вы можете написать php-скрипт, который загружает страницу, подсчитывает количество комментариев (регулярное выражение) и затем умножает число на высоту комментария, чтобы определить соответствующую высоту iframe
Удачи,