Отвечено много вопросов относительно изменения размера iframe по его содержанию, но что, если содержимое становится слишком длинным и превышает высоту контейнера. В этом случае я хочу, чтобы высота контейнера была соответствующим образом изменена, и без iframe, получая свитки или обрезанные в случае установки переполнения в скрытое. Как я могу это сделать?
Поскольку ваш документ и iframe являются разными доменами, javascript от одного не может напрямую обращаться к DOM другого (см. Ограничения безопасности для одного источника). Это означает, что вы не можете напрямую попасть в DOM iframe, чтобы узнать, насколько велика она должна быть такой, чтобы вы могли установить размер iframe такого размера изнутри содержащего документа.
Любые варианты, которые у вас есть для этого, требуют некоторого контроля кода в iframe. Например, вы можете поддерживать window.postMessage()
между двумя iframe, а содержащий документ может запросить iframe, насколько он хотел бы быть через window.postMessage()
и когда он получит ответ, он может затем изменить размер iframe,
Различные ссылки:
междоменное изменение размера iframe?
http://css-tricks.com/cross-domain-iframe-resizing/
Кросс-доменная кросс-браузерная передача iframe упрощена!