iframe на javascript в Chrome
Всем добрый день, прошу помощи, у меня проблема с отображение iframe на javascript в Chrome, в других браузерах всё нормально, проблема в том что страничка начинает ползти вниз, при первой загрузке всё нормально но в последующих перемещениях по страничкам сама страничка ползёт вниз. До бесконечности. В чём может быть проблема? Что можно изменить в коде? За помощь буду очень благодарен.
Вот моежете проверить сами ТЫК <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Demo iframe Resize by Exterior</title> <script type="text/javascript"> <!-- var timeout; function clickAction() { frameFitting(); var fr = document.getElementById('demo_frame').contentWindow.document.body.getElementsByTagName('a'); for (var i=0; i<fr.length; i++) { fr[i].onclick = function() { clearInterval(timeout); timeout = setInterval("frameFitting()",100); } } } function frameFitting() { document.getElementById('demo_frame').width = '100%'; document.getElementById('demo_frame').height = document.getElementById('demo_frame').contentWindow.document.body.scrollHeight+4+'px'; } onload = clickAction; //--> </script> </head> <body> <iframe src="http://cs.city.kg/stats/index.php" id="demo_frame" align="center" scrolling="no" frameborder="0" marginheight="0" marginwidth="0" width="100%"></iframe> </body> </html> |
Help:-?
|
У вас frameFitting() увеличивает высоту фрейма , а в clickAction() назначаются обработчики кликов по ссылкам: нажав какую-нибудь ссылку, вы запустите setInterval, который будет вызывать frameFitting() через 100мс, что и будет постепенно увеличивать высоту фрейма.
Не совсем понятно, чего вы хотите добиться, назначая такие обработчики клика ссылкам. |
Я в жатве пока совсем дуб, мне всего то что бы страница не съезжала вниз, вот щас порыскал по форуму ничего путного на замену не нашёл.
Мне самое главное автоматическая прокрутка, что бы не было это го ползунка... |
Цитата:
|
да, я нашёл еще один код, он нормально пашет в хроме, а вот в опере наоборот, можно ли сделать для каждого браузера свой скрипт?
|
Скажите, что хотите сделать-то?
|
Мне нужно что бы скрипт чётко подгонял страничку в iframe в высоту.
Вот немного получше, в хроме он не ползёт сам вниз но он подгоняет странички не верно, если предыдущая страничка была больше то под меньшую он уже не подгонит. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <script language="JavaScript"> <!-- function autoResize(id){ var newheight; var newwidth; if(document.getElementById){ newheight=document.getElementById(id).contentWindow.document .body.scrollHeight; newwidth=document.getElementById(id).contentWindow.document .body.scrollWidth; } document.getElementById(id).height= (newheight) + "px"; document.getElementById(id).width= (newwidth) + "px"; } //--> </script> <IFRAME SRC="http://cs.city.kg/cs" width="100%" height="200px" id="iframe1" marginheight="0" frameborder="0" onLoad="autoResize('iframe1');"></iframe> </body> </html> |
Попробуйте так
<iframe src="index.htm" onload=" this.height = this.contentWindow.document.body.scrollHeight; "></iframe> |
То есть используйте обработчик загрузки фрейма, в который и поместите код задания размеров этого фрейма (больше ничего не требуется).
Заработает, когда будет на сервере (или через denwer, например), на локальном компьютере проверить не даст политика безопасности. |
Часовой пояс GMT +3, время: 16:00. |