На данный момент мы используем только тип iframe Magnific Popup (плагин jQuery). Однако всплывающее окно не изменяет размер своей высоты, когда содержимое iframe растет или сжимается динамически. Я думаю, что для встроенного изменения размера, похоже, работает.Magnific Popup iframe auto resize при изменении контента (перекрестный домен)
Я искал документацию и Интернет, но не смог найти решение.
Поэтому я искал сторонние решения для автоматического изменения размера (кросс-домена) iframe при изменении контента. Best я нашел до сих пор (ищу простое решение) является:
jQuery resize event (с помощью вилки, потому что оригинал, кажется, не поддерживается)
, чтобы иметь возможность связать событие изменения размера в сочетании с:
jQuery postMessage (с использованием вилки по той же причине)
для осуществления междоменной связи между iframe и родителем (из-за той же политики происхождения).
(не может размещать ссылки на вилы, так как это мой первый вопрос, и я только разрешено размещать две ссылки ...)
Я получил тех, кто работает на простой тест IFRAME, теперь я хочу реализуйте это в Magnific Popup.
Как раз сейчас я столкнулся с событием изменения размера в документации, которая уже встроена в МФП: «триггеры изменения размера изменяются только при изменении высоты или принудительной компоновке». Однако он не срабатывает, когда я показываю больше/меньше текста в iframe на основе ввода select (только тест пока, но это то, что мне нужно в данный момент).
Итак, прежде чем внедрять все эти плагины, я подумал, может быть, я спрошу, есть ли у кого-то уже работающее решение для этого или если я просто упустил встроенную функцию/не использовал ее правильно. Я довольно новичок в JavaScript.
Заранее спасибо
Что также очень помогло стартеру, это [пример изменения размера iframe] (http://benalman.com/code/projects/jquery-postmessage/examples/iframe/). Однако имейте в виду, что он использует свой собственный jQuery postMessage плагин, который несовместим с текущей версией jQuery. Должен опубликовать это как комментарий, так как я все еще могу опубликовать только 2 ссылки за сообщение ... – Oliver
Оливер, я отредактировал свой ответ. Если вы используете https://github.com/davidjbradshaw/iframe-resizer, он должен помочь вам. Я также заметил, что у magnific есть ** resize ** callback, который позволяет игнорировать происхождение iframe. Я реализовал это решение на своем интернет-магазине, и до сих пор он работал без проблем. Удачи! – vitaly87