Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.06.2012, 15:11
Интересующийся
Отправить личное сообщение для spals Посмотреть профиль Найти все сообщения от spals
 
Регистрация: 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>
Ответить с цитированием
  #2 (permalink)  
Старый 13.06.2012, 18:50
Интересующийся
Отправить личное сообщение для spals Посмотреть профиль Найти все сообщения от spals
 
Регистрация: 13.06.2012
Сообщений: 18

Help
Ответить с цитированием
  #3 (permalink)  
Старый 13.06.2012, 20:10
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

У вас frameFitting() увеличивает высоту фрейма , а в clickAction() назначаются обработчики кликов по ссылкам: нажав какую-нибудь ссылку, вы запустите setInterval, который будет вызывать frameFitting() через 100мс, что и будет постепенно увеличивать высоту фрейма.
Не совсем понятно, чего вы хотите добиться, назначая такие обработчики клика ссылкам.

Последний раз редактировалось bes, 13.06.2012 в 20:15.
Ответить с цитированием
  #4 (permalink)  
Старый 13.06.2012, 20:17
Интересующийся
Отправить личное сообщение для spals Посмотреть профиль Найти все сообщения от spals
 
Регистрация: 13.06.2012
Сообщений: 18

Я в жатве пока совсем дуб, мне всего то что бы страница не съезжала вниз, вот щас порыскал по форуму ничего путного на замену не нашёл.

Мне самое главное автоматическая прокрутка, что бы не было это го ползунка...

Последний раз редактировалось spals, 13.06.2012 в 20:19.
Ответить с цитированием
  #5 (permalink)  
Старый 13.06.2012, 20:19
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от spals
Я в жатве пока совсем дуб, мне всего то что бы страница не съезжала вниз, вот щас порыскал по форуму ничего путного на замену не нашёл.
В смысле, чтобы не было того, что сейчас??
Ответить с цитированием
  #6 (permalink)  
Старый 13.06.2012, 20:28
Интересующийся
Отправить личное сообщение для spals Посмотреть профиль Найти все сообщения от spals
 
Регистрация: 13.06.2012
Сообщений: 18

да, я нашёл еще один код, он нормально пашет в хроме, а вот в опере наоборот, можно ли сделать для каждого браузера свой скрипт?
Ответить с цитированием
  #7 (permalink)  
Старый 13.06.2012, 20:33
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Скажите, что хотите сделать-то?
Ответить с цитированием
  #8 (permalink)  
Старый 13.06.2012, 20:36
Интересующийся
Отправить личное сообщение для spals Посмотреть профиль Найти все сообщения от spals
 
Регистрация: 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>
Ответить с цитированием
  #9 (permalink)  
Старый 13.06.2012, 20:47
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Попробуйте так
<iframe src="index.htm" 
  onload=" this.height = this.contentWindow.document.body.scrollHeight; 
"></iframe>
Ответить с цитированием
  #10 (permalink)  
Старый 13.06.2012, 20:56
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

То есть используйте обработчик загрузки фрейма, в который и поместите код задания размеров этого фрейма (больше ничего не требуется).
Заработает, когда будет на сервере (или через denwer, например), на локальном компьютере проверить не даст политика безопасности.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача параметров javascript между iframe и документом. freedon Events/DOM/Window 8 05.05.2011 16:29
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34
ajax, iframe, chrome - проблема Aderba AJAX и COMET 2 04.08.2010 23:40
Javascript запрещающий открывать iframe в новом окне. HELP! Андреи Events/DOM/Window 11 26.09.2009 07:36