Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2015, 13:36   #1
Borkot
Пользователь
 
Аватар для Borkot
 
Регистрация: 29.04.2012
Сообщений: 37
По умолчанию newWin.close(); слишком рано срабатывает

Доброе время суток!
Есть код. Смысл этого javascripta такой открыть новую вкладку подержать 3,5 сек закрыть и через 5 сек открыть снова.
Так вот закрытие новой вкладки происходит раньше задонного...
Код:
<html>
 <head>
 <meta charset="utf-8">
 <script type="text/javascript">
var newWin;
function START()
{
	var i = 1;
	var HtmlStr='НАша Строка';
	while (i<100) {
	
	var Tm2=setTimeout("OpenHtml()",5000);
		i++;
	}
	return;
}
function OpenHtml()
	{ 
	var TempNumb=getRandomInt();
	newWin = window.open("http://javascript.ru","Newtab");
	
	newWin.blur();
	setTimeout(Delay(),3500);

	return;
	}

function getRandomInt()
	{
	return Math.floor(Math.random() * (500000 - 30000 + 1)) + 30000
	}
	function Delay()
	{
	newWin.close();
	return
	}
</script>
</head>
<body>
<input type="button" onclick="START()" value="Старт!"/>
 </body>	 
</html>
Программа выполняет то что написал программист, а не то что он хотел..

Последний раз редактировалось Borkot; 25.11.2015 в 13:37. Причина: нашел ошибку
Borkot вне форума Ответить с цитированием
Старый 25.11.2015, 13:41   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Код:
<html>
 <head>
 <meta charset="utf-8">
 <script type="text/javascript">
var newWin;

function OpenHtml(IfClose)
	{ 
        if(IfClose){ 
	 var TempNumb=getRandomInt();
	 newWin = window.open("http://javascript.ru","Newtab");
 	 newWin.blur();
	 setTimeout("OpenHtml(false)",3500);
        } else {
         newWin.close();
         setTimeout("OpenHtml(true)",5000);
        }
	 return;
}


</script>
</head>
<body>
<input type="button" onclick="OpenHtml(true)" value="Старт!"/>
 </body>	 
</html>
Вот так ИМХО лучше
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.11.2015, 14:41   #3
Borkot
Пользователь
 
Аватар для Borkot
 
Регистрация: 29.04.2012
Сообщений: 37
По умолчанию

Старая добрая рекурсия...
Но данный код новую вкладку не закрывает...
К сожалению.

Последний раз редактировалось Borkot; 25.11.2015 в 14:45.
Borkot вне форума Ответить с цитированием
Старый 25.11.2015, 15:11   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Как рекурсия??? О_о
Разве setTimeout() замораживает поток?
Цитата:
данный код новую вкладку не закрывает...
Отладку ты конечно провести не желаешь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.11.2015, 15:17   #5
Borkot
Пользователь
 
Аватар для Borkot
 
Регистрация: 29.04.2012
Сообщений: 37
По умолчанию

Извени, все пучком Я уже за 2а дня наплодил много вариаций, как собственно ручно.
ОШИБСЯ.
Borkot вне форума Ответить с цитированием
Старый 25.11.2015, 15:18   #6
Borkot
Пользователь
 
Аватар для Borkot
 
Регистрация: 29.04.2012
Сообщений: 37
По умолчанию

Поэтому в отладке не то файл открыл.
Borkot вне форума Ответить с цитированием
Старый 25.11.2015, 15:59   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Гагага )))
Бывает )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
рано срабатывает триггер Constellation SQL, базы данных 6 05.06.2015 12:42
Рано умирает сессия CodeNOT ASP.NET 0 13.03.2015 12:53
Здравствуйте, возможно слишком просто, но у меня СЛИШКОМ начальный уровень green fox Помощь студентам 2 18.12.2014 21:26
Form.Close misher Общие вопросы Delphi 7 05.09.2010 13:43
ShowModal, close!!!! Ital1cs Помощь студентам 3 02.04.2010 19:50