jQuery сниппеты: изменение высоты iframe в зависимости от его содержания

Встала задача сделать сайт без перезагрузки крутящегося флеш-ролика (аудиоплеер с плейлистом), чтобы пользователь ходил по странице, а музыка постоянно играла.

Пораскинув мозгами, пришел к выводу, что обычные фреймы не подходят по двум причинам: их исключают из спецификаций, они не особо "гибкие".

"Плавающий фрейм" iframe подходит как нельзя лучше для поставленной задачи. Но есть одна проблема: сделать так, чтобы не появлялась полоса прокрутки в этом фрейме. Для этого необходимо точно посчитать высоту контента (содержимого) самого фрейма.

Предлагаю наипростейший сниппет на jQuery, реализующий поставленную задачу:

JavaScript:


<script type="text/javascript">
$(function() {
    var iframe = $('#ourframe', parent.document.body);
    iframe.height($(document.body).height());
});
</script>

HTML:


<html>
    ...
    <body>
        <iframe id="ourframe"></iframe>
    </body>
    ...
</html>

RTFM

Для вставки кода используйте HTML-теги
<pre><code class="php">ваш код</code></pre>

  • Есть идеи как реализовать подобную фичу для iframe’a с другим доменом?

  • ploten

    скрипт в дочерний фрейм вставлять?