Strict Standards: Resource ID#28 used as offset, casting to integer (28) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#30 used as offset, casting to integer (30) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#31 used as offset, casting to integer (31) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Проблема с оптимизацией скрипта под Operу
ТвойWeb » WebMaster класс » JavaScript » Проблема с оптимизацией скрипта под Operу

Страниц (1): [1]
 

1. Gusse - 08 Августа, 2006 - 11:16:17 - перейти к сообщению
Нашел на этом сайте отличный скрипт, динамически меняющий размер iframe в зависимости от загружаемой в него информации. Вот только у меня возникла проблема, ни чего не получается в Opere, может кто-нибудь подскажет что делать??? Заранее спасибо!!!!!!!!

CODE:
<script language="JavaScript">
<!--
function mySize(){
myIframe.resizeTo(myIframe.document.body.scrollWidth,myIframe.document.body.scrollHeight)
}
//-->
</script>
...
<iframe name=myIframe src=testpage.html width=100% height=100% frameborder=0 marginheight=0 marginwidth=0 scrolling=no onLoad="mySize();">
2. Дмитрий Б. - 08 Августа, 2006 - 22:49:12 - перейти к сообщению
Gusse
Да, с Оперой всегда столько проблем... То вдруг вылетает на ровном месте, то addEventListener не понимает, а то вдруг onload в ней не срабатывает (как у тебя). Эх, писали бы все только под единственный нормальный браузер - проблем бы не было... Но это так, к слову.

Межбраузерный вариант выглядит так:
CODE:
function mySize()
{
if (navigator.appName=='Netscape')
{
document.getElementById('iframeId').width=window.myIframe.document.body.offsetWidth;
document.getElementById('iframeId').height=window.myIframe.document.body.offsetHeight;
}
else
{
document.getElementById('iframeId').width=window.myIframe.document.body.scrollWidth;
document.getElementById('iframeId').height=window.myIframe.document.body.scrollHeight;
}
}
Вызываться эта функция должна не из обработчика onload элемента iFrame, а из onload'а элемента body элемента, засунутого в этот iFrame:
CODE:
<body ... onload="parent.mySize();">
iFrame'у же, как ты понимаешь, должен присваиваться идентификатор (в коде подразумевается, что id="iframeId").
3. Gusse - 11 Августа, 2006 - 12:06:57 - перейти к сообщению
Ниче не получается можешь ли как-нибудь получьше объяснить!!!!!!!!!!
4. Дмитрий Б. - 11 Августа, 2006 - 22:50:23 - перейти к сообщению
Gusse
Код на основной странице:
CODE:
<...>
<script language="JavaScript">
<!--
function mySize()
{
if (navigator.appName=='Netscape')
{
document.getElementById('iframeId').width=window.myIframe.document.body.offsetWidth;
document.getElementById('iframeId').height=window.myIframe.document.body.offsetHeight;
}
else
{
document.getElementById('iframeId').width=window.myIframe.document.body.scrollWidth;
document.getElementById('iframeId').height=window.myIframe.document.body.scrollHeight;
}
}
//-->
</script>
<...>
<iframe name=myIframe src=testpage.html width=100% height=100% frameborder=0 marginheight=0 marginwidth=0 scrolling=no id="iframeId">
<...>
Код на странице testpage.html:
CODE:
<html>
<head>
<...>
</head>

<body onload="parent.mySize();">
<...>
</body>
</html>
5. Gusse - 13 Августа, 2006 - 12:18:58 - перейти к сообщению
ОГРМНОЕ СПАСИБО, ВСЕ КАНАЕТ!!!!!!!!!!!!!!!!!!!!!!!!

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0349]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33