javascript — вызов функции в parent из iframe, о функции изменения размера iframe

Давайте повеселимся с изменением размера iframe изнутри iframe!

Так что у меня есть HTML-страница, которая имеет некоторый код, который изменяет размер iframe при загрузке. Javascript находится в головной части, и это выглядит так:

<script type="text/javascript">
<!--
function resizeIframe(id){
/*
this.obj=obj
//this.obj.width=null
//this.obj.width=window.frames["sizeframe"].document.body.scrollWidth
this.obj.style.height="" // for Firefox and Opera
setTimeout("this.obj.style.height=this.obj.contentWindow.document.body.scrollHeight+(notIE?heightOffset:0)",10) // setTimeout required for Opera
*/

el=document.getElementById(id)
el.style.height="350px" // for Firefox and Opera
setTimeout("el.style.height=el.contentWindow.document.body.scrollHeight+'px'",1) // setTimeout required for Opera
}

// -->
</script>

+++ И код для iframe выглядит так:

<iframe name="sizeframe" src="thoughtsinitialview.php" marginwidth="1" marginheight="1" width="596" align="middle" border="0" frameborder="0" onload="resizeIframe(this.id)" id="sizeframe" allowTransparency="true" scrolling="no">

+++ Код внутри iframe — это весь php, и внутри этого php-кода есть функция, которая изменяет размер текстовой области (формы). Этот код выглядит так:

print "<script type='text/javascript'>
function AutoGrowTextArea(textField){
if(textField.clientHeight<textField.scrollHeight){
textField.style.height = textField.scrollHeight + 'px';
if(textField.clientHeight < textField.scrollHeight){
textField.style.height = (textField.scrollHeight * 2 - textField.clientHeight) + 'px';
}
}
}
</script>";

+++ Итак, этот фрагмент javascript вызывается следующей функцией в текстовой области:

<textarea name='reply' id='reply' rows='1' style=width: 350' onKeyUp='AutoGrowTextArea(this)'>Write a comment...</textarea>

+++ Итак … в обработчике события onKeyUp, когда пользователь добавляет комментарии, которые превышают 1 строку, текстовая область изменяет размер! Yay: веселые времена! НО — iframe съедает остальную часть отображаемого содержимого, которое показывалось при загрузке iframe. Аааа, облом человек! 🙁

+++ Поэтому я добавил следующий код в конец onKeyUp, это выглядит так:

parent.resizeIframe(id)

+++ Но это не сработало. Я пробовал каждую комбинацию, которую только мог придумать, но я не такой умный, как мастера в этом вопросе о StackOverflow …

Как? Делать? Я? сделать изменение размера iframe, когда textarea изменяет размер с пользовательского ввода?

Заранее большое спасибо и много кармических благословений! (Это для сайта: sitempty.org)

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]