13.06.2012, 15:11
|
Интересующийся
|
|
Регистрация: 13.06.2012
Сообщений: 18
|
|
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>
|
|
13.06.2012, 18:50
|
Интересующийся
|
|
Регистрация: 13.06.2012
Сообщений: 18
|
|
Help
|
|
13.06.2012, 20:10
|
|
Профессор
|
|
Регистрация: 22.03.2012
Сообщений: 3,744
|
|
У вас frameFitting() увеличивает высоту фрейма , а в clickAction() назначаются обработчики кликов по ссылкам: нажав какую-нибудь ссылку, вы запустите setInterval, который будет вызывать frameFitting() через 100мс, что и будет постепенно увеличивать высоту фрейма.
Не совсем понятно, чего вы хотите добиться, назначая такие обработчики клика ссылкам.
Последний раз редактировалось bes, 13.06.2012 в 20:15.
|
|
13.06.2012, 20:17
|
Интересующийся
|
|
Регистрация: 13.06.2012
Сообщений: 18
|
|
Я в жатве пока совсем дуб, мне всего то что бы страница не съезжала вниз, вот щас порыскал по форуму ничего путного на замену не нашёл.
Мне самое главное автоматическая прокрутка, что бы не было это го ползунка...
Последний раз редактировалось spals, 13.06.2012 в 20:19.
|
|
13.06.2012, 20:19
|
|
Профессор
|
|
Регистрация: 22.03.2012
Сообщений: 3,744
|
|
Сообщение от spals
|
Я в жатве пока совсем дуб, мне всего то что бы страница не съезжала вниз, вот щас порыскал по форуму ничего путного на замену не нашёл.
|
В смысле, чтобы не было того, что сейчас??
|
|
13.06.2012, 20:28
|
Интересующийся
|
|
Регистрация: 13.06.2012
Сообщений: 18
|
|
да, я нашёл еще один код, он нормально пашет в хроме, а вот в опере наоборот, можно ли сделать для каждого браузера свой скрипт?
|
|
13.06.2012, 20:33
|
|
Профессор
|
|
Регистрация: 22.03.2012
Сообщений: 3,744
|
|
Скажите, что хотите сделать-то?
|
|
13.06.2012, 20:36
|
Интересующийся
|
|
Регистрация: 13.06.2012
Сообщений: 18
|
|
Мне нужно что бы скрипт чётко подгонял страничку в 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>
|
|
13.06.2012, 20:47
|
|
Профессор
|
|
Регистрация: 22.03.2012
Сообщений: 3,744
|
|
Попробуйте так
<iframe src="index.htm"
onload=" this.height = this.contentWindow.document.body.scrollHeight;
"></iframe>
|
|
13.06.2012, 20:56
|
|
Профессор
|
|
Регистрация: 22.03.2012
Сообщений: 3,744
|
|
То есть используйте обработчик загрузки фрейма, в который и поместите код задания размеров этого фрейма (больше ничего не требуется).
Заработает, когда будет на сервере (или через denwer, например), на локальном компьютере проверить не даст политика безопасности.
|
|
|
|