Запрет на повторный вызов функции

Статус
Закрыто для дальнейших ответов.

MaD HamsteR

Well-Known Member
Регистрация
28.12.2006
Сообщения
77
У меня такая проблема, я написал скрипт использующий ajax. Скрипт тестит сервера на доступность. Вот оно тут www.dconnect.info/hublist.php (нажмите ссылку Status напротив адреса для теста).

И у меня такая проблема, мне нужно сделать так чтобы пока проверялся 1 сервер, другой нельзя было проверить, чтобы вылетало сообщение типа идёт проверка ну простым alert(""); а то если разом несколько сервантов тестить глюки начинаются...

скрипт предачи данных довольно простой:
Код:

Код:
<script language="JavaScript" type="text/javascript"> 
var XMLHttpRequestObject = false; 
if (window.XMLHttpRequest) { 
XMLHttpRequestObject = new XMLHttpRequest(); 
} else if (window.ActiveXObject) { 
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP"); 
} 

//функция у которой нужно предотвратить повторное исползование пока не закончится работа

function getData(dataSource, divID){ 

	if(XMLHttpRequestObject){ 

		var obj = document.getElementById(divID); 
		obj.innerHTML = "<img src=reload.gif> Testing..."; 
		XMLHttpRequestObject.open("GET", dataSource); 
			XMLHttpRequestObject.onreadystatechange = function(){ 
				if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) { 
					obj.innerHTML = XMLHttpRequestObject.responseText; 

				} 
			} 
	XMLHttpRequestObject.send(null); 
	} 
} 
</script>


dataSource - Это страница куда запрос идёт (к примеру handler.php?server=www.itforums.ru)
divID - Это id обьекта html куда результат выводить
 

deMone

Злой страшный дядька
Регистрация
30.01.2006
Сообщения
937
Создайте булевую переменную:
Когда функция запускается первый раз она ставит someVar = true;
Когда она завершается, она ставит someVar = false;
Каждый раз при запуске она смотрит: если someVar == true, то return false.
 

MaD HamsteR

Well-Known Member
Регистрация
28.12.2006
Сообщения
77
Я тоже так думал но чтото недокрутил, нада ещё попробовать.

И ещё хотел бы узнать если переменная например var work = true; задаётся в функции то она будет доступна из любово места скрипта?
 

deMone

Злой страшный дядька
Регистрация
30.01.2006
Сообщения
937
нет, не будет. подобную переменную нужно задавать вне функции.
 
Статус
Закрыто для дальнейших ответов.
Верх Низ