Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как регулировать высоту фреймов
 
 автор: @ndry   (12.02.2006 в 05:07)   письмо автору
 
 

У меня есть 2 iframe, которые находяться один, под одним. Как можно релаизовать изменение их размера, причём одновременное?

   
 
 автор: 12345   (12.02.2006 в 16:00)   письмо автору
 
   для: @ndry   (12.02.2006 в 05:07)
 

document.all.id_фрейма.style.offsetHeight

   
 
 автор: EVG   (13.02.2006 в 14:21)
 
   для: 12345   (12.02.2006 в 16:00)
 

Есть вот такая конструкция
**************************
‘<hr/>’
‘<iframe id="f1" src="bigtext.htm" width="100%" height="100" ‘
‘frameborder="no" scrolling="no"’
‘onload =reheight("f1","f1.onload")’
‘onresize =reheight("f1","f1.onresize")’
‘onresizeend =reheight("f1","f1.onresizeend")’
‘onpropertychange=reheight("f1","f1.onpropertychange")’
‘></iframe>’
‘<hr/>’
‘<script>’
‘var w1=open();’
‘function reheight(name,comment){‘
‘ w1.document.write(comment+"<BR>");’
‘ var f=document.getElementById(name);’
‘ if(f.height!=f.contentWindow.document.body.scrollHeight)’
‘ f.height=f.contentWindow.document.body.scrollHeight;’
‘}’
‘</script>’
**************************
где bigtext.htm просто любой текст побольше.

Для Microcoft Explorer все работает, при загрузке (onload) величина height у iframe увеличивается, чтобы вместить весь bigtext.htm, а когда уменьшаем-увеличиваем ширину окна (onresize), height опять само-настраивается, чтобы влез весь bigtext.htm. В Mozilla и в Firefox событие onload срабатывает, height само-настраивается, а события onresize, onresizeend, onpropertychange не срабатывают ни одно. Что делать, как заставить iframe само-настраивается в Firefox при уменьшении-увеличении ширины окна?

   
 
 автор: 12345   (13.02.2006 в 15:51)   письмо автору
 
   для: EVG   (13.02.2006 в 14:21)
 

> как заставить iframe само-настраивается в Firefox при уменьшении-увеличении ширины окна?
была высота, теперь ширина?

Пример неудобен для запуска, поэтому помогаю советом:
IE=document.all!=null;
document.getElementById('f1').style.offsetWidht=IE?document.body.scrollWidht :document.width;

а там сами прикручивайте.

   
 
 автор: EVG   (13.02.2006 в 18:32)
 
   для: 12345   (13.02.2006 в 15:51)
 

Дело не в том, что сделать, а нужные события не срабатывают в Firefox

   
 
 автор: 12345   (13.02.2006 в 19:19)   письмо автору
 
   для: EVG   (13.02.2006 в 18:32)
 

А не в том, что не использован document.width ? См.

fgdfg
<script>
    onresize=function(){alert(document.all?document.body.scrollWidth :document.width);}
</script>

   
 
 автор: EVG   (14.02.2006 в 04:37)
 
   для: 12345   (13.02.2006 в 19:19)
 

дело не в этом

В Firefox не хотят срабатывать события onresize, onresizeend, onpropertychange при изменении размеров окна и соответственно фрейма. А если не срабатывают события, то и никак не поменять размеров iframe, не по таймеру же время от времени проверять размеры iframe.

Если Вам не нравится пример с апострафами, то вот без них. Попробуйте поизменяйте мышкой ширину окна в IE и FF, сразу увидите что к чему

<!-----
<body>
<hr/>
<iframe id="f1" src="bigtext.htm" width="100%" height="100" frameborder="no"
scrolling="no"
onload =reheight("f1","f1.onload")
onresize =reheight("f1","f1.onresize")
onresizeend =reheight("f1","f1.onresizeend")
onpropertychange=reheight("f1","f1.onpropertychange")
></iframe>
<hr/>
<script>
var w1=open();
function reheight(name,comment){
w1.document.write(comment+"<BR>");
var f=document.getElementById(name);
if(f.height!=f.contentWindow.document.body.scrollHeight)
f.height=f.contentWindow.document.body.scrollHeight;
}
</script>
<script>
window.onload ='reheight("f1","f1.onload")';
window.onresize ='reheight("f1","f1.onresize")';
window.onresizeend ='reheight("f1","f1.onresizeend")';
window.onpropertychange='reheight("f1","f1.onpropertychange")';
</script>
</body>
-->

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования