Изменение размера iframe и его родительской высоты в соответствии с содержимым внутри iframe

0

Отвечено много вопросов относительно изменения размера iframe по его содержанию, но что, если содержимое становится слишком длинным и превышает высоту контейнера. В этом случае я хочу, чтобы высота контейнера была соответствующим образом изменена, и без iframe, получая свитки или обрезанные в случае установки переполнения в скрытое. Как я могу это сделать?

  • 0
    Вы пытаетесь изменить размер iframe из JS внутри iframe или изменить размер iframe из содержащегося документа? Является ли iframe неким доменом в качестве содержащей страницы?
  • 0
    Я пытаюсь изменить размер iframe и его контейнера с помощью js в соответствии с содержимым iframe. Они не в одном домене.
Показать ещё 2 комментария
Теги:
iframe

1 ответ

1
Лучший ответ

Поскольку ваш документ и iframe являются разными доменами, javascript от одного не может напрямую обращаться к DOM другого (см. Ограничения безопасности для одного источника). Это означает, что вы не можете напрямую попасть в DOM iframe, чтобы узнать, насколько велика она должна быть такой, чтобы вы могли установить размер iframe такого размера изнутри содержащего документа.

Любые варианты, которые у вас есть для этого, требуют некоторого контроля кода в iframe. Например, вы можете поддерживать window.postMessage() между двумя iframe, а содержащий документ может запросить iframe, насколько он хотел бы быть через window.postMessage() и когда он получит ответ, он может затем изменить размер iframe,

Различные ссылки:

междоменное изменение размера iframe?

http://css-tricks.com/cross-domain-iframe-resizing/

Кросс-доменная кросс-браузерная передача iframe упрощена!

Еще один междоменный iframe изменяет размер Q & A

https://github.com/davidjbradshaw/iframe-resizer

  • 0
    Добавлены ссылки.
  • 0
    Большое спасибо jfriend00. Это помогло. У меня есть еще один вопрос относительно размещения переполнения iframe поверх контейнера, но поскольку он не связан с этим вопросом, я просто отмечаю ваш ответ и открываю для него еще один вопрос.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню