Размер iframe по содержимому

Размер iframe по содержимому

Если у указать width="100%" , то он растянется на всю ширину родителя, но height="100%" так не работает.

Чтобы высота заработала, нужно сделать элемент абсолютным. В примере iframe растягивается на все окно.

Сегодня встала необходимость вставить на сайте некую информацию средствами iframe. К сожалению информаци в iframe может быть разная, а значит и высота iframe тоже может быть разная. Это нас совершенно не устраивает. Необходимо чтоб все содержимое iframe было видно на странице без всяких скролбаров.

Для этого не долго думая я написал небольшую js функцию на основе библиотеки jQuery:

Вот и все теперь размер iframe будет подстаиваться под контент. Скажу сразу что данный метод будет работать только в случае если у вас контент iframe и контент сайта пренадлежат одному домену. Если же вы хотите подгрузить информацию с другого сайта и подогнать его размер под содержимое то придется использоваться небольшой промежуточный php файл в котором необходимое содержимое мы получим с помощью функции file_get_contents, а уже потом вставим информацию с помощью iframe. То есть сначала мы забираем информацию с помощью нового созданного php файла, а уже потом мы ставим в src iframe тот файл который мы только что создаем.

$content = file_get_contents(‘http://yandex.ru’);
echo $content;

Вот таким вот образом мы так сказать помещаем нужную для фрейма информацию на свой домен.

Если сайты в разной кодировке то в php файле используем функцию iconv()

Я работаю над iGoogle-подобным приложением. Содержимое из других приложений (в других доменах) отображается с помощью iframes.

Как изменить размер iframes, чтобы соответствовать высоте содержимого iframes?

Я пытался расшифровать javascript, который использует Google, но он запутан, и поиск в интернете до сих пор был бесплодным.

Читайте также:  Как сделать винду на флешку через ultraiso

обновление: обратите внимание, что контент загружается из других доменов, так что политика того же происхождения применяется.

20 ответов:

у нас была такая проблема, но немного в обратном направлении к вашей ситуации — мы предоставляли контент iframed сайтам на других доменах, поэтому та же политика происхождения также была проблемой. После многих часов траления google, мы в конце концов нашли (несколько..) приемлемое решение, которое можно адаптировать к вашим потребностям.

существует способ обойти ту же политику происхождения, но она требует изменений как на содержании iframed, так и на странице фрейминга, поэтому если у вас нет возможности запрашивать изменения с обеих сторон, этот метод не будет Вам очень полезен, я боюсь.

есть причуда браузера, которая позволяет нам обойти ту же политику происхождения-javascript может общаться либо со страницами в своем собственном домене, либо со страницами, которые он имеет iframed, но никогда не страницы, в которых он обрамлен, например, если у вас есть:

затем home.html можете общаться с framed.html (iframed) и helper.html (тот же домен).

framed.html может отправлять сообщения в helper.html (iframed) но не home.html (ребенок не может общаться между доменами с родителем).

ключевым моментом здесь является то, что helper.html С framed.html и также может общаться С home.html .

так по существу, когда framed.html нагрузки, он разрабатывает свою собственную высоту, говорит helper.html , который передает сообщение home.html , который затем может изменить размер iframe, в котором framed.html сидит.

самый простой способ мы нашли, чтобы передать сообщения от framed.html до helper.html через параметр url-адреса. Чтобы сделать это, framed.html имеет iframe с src=» указано. Когда его onload срабатывает, он оценивает свою собственную высоту и устанавливает src iframe в этот момент в helper.html?height=N

Читайте также:  Телевизоры тошиба 40 дюймов

здесь есть объяснение о том, как facebook справляется с этим, что может быть немного яснее, чем у меня выше!

Ссылка на основную публикацию
Работа с far manager
Фар менеджер - один из самых удобных файловых менеджеров, рассчитанный на работу с файлами и папками на дисках, прежде всего,...
Программы для поиска транспорта
Грузы Широкие возможности фильтров позволяют найти точно подходящую для вашего транспорта загрузку. Несколько тысяч свежих предложений. Каждый сможет найти себе...
Программы для полной очистки жесткого диска
Подборка программ, которые помогут очистить жёсткий диск Windows компьютера и его съёмные устройства от ненужных файлов. Эти инструменты помогут найти...
Работа с классами python
Серия контента: Этот контент является частью # из серии # статей: Этот контент является частью серии: Следите за выходом новых...
Adblock detector