2010-07-06 2 views
0

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

Были сообщения раньше, я знаю ... но .. многие не были довольно моя проблема.

Основная страница и iframe находятся в одном домене.

ответ

0
<html> 
<script type="text/javascript"> 
function autoIframe(frameId){ 
try{ 
frame = document.getElementById(frameId); 
innerDoc = (frame.contentDocument) ? frame.contentDocument : frame.contentWindow.document; 
objToResize = (frame.style) ? frame.style : frame; 
objToResize.height = innerDoc.body.scrollHeight + 10; 
} 
catch(err){ 
window.status = err.message; 
} 
} 
</script> 



<iframe id="tree" name="tree" src="tree.htm" onload="if (window.parent && window.parent.autoIframe) {window.parent.autoIframe('tree');}"></iframe> 

Это сценарий, который я сохранил в своих темлатах, но это не мое! но я не могу вспомнить, кто был автором ..

делать поиск по Google вернулся:

<script language="JavaScript"> 

function calcHeight() 
{ 
    //find the height of the internal page 
    var the_height= 
    document.getElementById('the_iframe').contentWindow. 
     document.body.scrollHeight; 

    //change the height of the iframe 
    document.getElementById('the_iframe').height= 
     the_height; 
    } 
<iframe name="the_iframe" onLoad="calcHeight();" scrolling="no" width="730" id="the_iframe" src="you_page.html" frameborder="0" allowtransparency="true"></iframe> 
0

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

http://roneiv.wordpress.com/2008/01/18/get-the-content-of-an-iframe-in-javascript-crossbrowser-solution-for-both-ie-and-firefox/

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

Конечно, если они действительно находятся в одном домене, возможно, вызов AJAX в DIV будет иметь больше смысла.

Смежные вопросы