Есть ли способ автоматически изменить размер iframe, если размер содержимого внутри изменяется? - PullRequest
0 голосов
/ 20 марта 2011

Например, я пытаюсь встроить рамку подписки YouTube на домашнюю страницу, и проблема в том, что если я сделаю iframe очень длинным, то он будет тратить пространство, но если я сделаю нужный размер, то если пользовательнажимает кнопку «загрузить больше видео», затем она отключается.Так есть ли способ сделать iframe (или любые другие альтернативы) в процентах от размера или динамически меняться при изменении страницы?

1 Ответ

1 голос
/ 20 марта 2011

Создайте файл и назовите его iframe.html

<html>
<head>
<script type="text/javascript"></span>
    function autoIframe(frameId){
        try{
            frame = document.getElementById(frameId);
            innerDoc = (frame.contentDocument) ? frame.contentDocument : frame.contentWindow.document;

            if (innerDoc == null){
                            // Google Chrome
                frame.height = document.all[frameId].clientHeight + document.all[frameId].offsetHeight + document.all[frameId].offsetTop;
            }
                    else{
                    objToResize = (frame.style) ? frame.style : frame;
                    objToResize.height = innerDoc.body.scrollHeight + 18;
                    }
        }

        catch(err){
                alert('Err: ' + err.message);
            window.status = err.message;
        }
    }
    </script>
</head>
<body>
    <iframe id="tree" name="tree" src="tree.html" onload="if (window.parent &amp;&amp; window.parent.autoIframe) {window.parent.autoIframe('tree');}"></iframe>
</body>
</html>  

Теперь создайте html-страницу с именем tree.html и поместите в нее фиктивный контент. Убедитесь, что iframe.html и tree.html находятся в same directory. Откройте файлы .html в браузере, и вы увидите o / p.

Еще несколько полезных ссылок:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...