Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.06.2011, 19:45
Новичок на форуме
Отправить личное сообщение для adrian16 Посмотреть профиль Найти все сообщения от adrian16
 
Регистрация: 07.06.2011
Сообщений: 3

Оптимизировать код
Мне нужно сделать полную паузу в скрипте. Вариантов setTimeout и set inTerval не предлагать так как дальше идет javascript код с кучей операциями которых таймаут и тайминтервал отрубит.

Я добился следующего:

<script language="javascript">

date_now = new Date();
minutes_start = date_now.getMinutes() + 1; 

do
{
date = new Date();
minutes = date.getMinutes();
}

while (minutes_start!==minutes);

alert("Выполнение скрипта задержанно на 1 мин!");



</script>



Но при выполнение этого скрипта виснет сервер из-за высокой частоты do-while.

Как можно понизить частоту выполнения do-while? Или предложите другие решения для снижения нагрузки моего скрипта.

Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 07.06.2011, 19:52
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

Сервер не причем, такой код вынесет браузер.

Только если так


var delay = 1000;

alert("Какой-то код");

window.setTimeout(function(){


	alert("Остальной код");

}, delay);

То есть весь следующий код обернут, прямо остановить код не получится
__________________
readOnly
Ответить с цитированием
  #3 (permalink)  
Старый 07.06.2011, 20:20
Новичок на форуме
Отправить личное сообщение для adrian16 Посмотреть профиль Найти все сообщения от adrian16
 
Регистрация: 07.06.2011
Сообщений: 3

Про ваш пример.

Если остальным кодом будут например продолжение начатых функций и продолжение логических процессов if-else, тоесть до window.setTimeout будет запущен if и еще пару под-if-ов, а скобки будут закрываться во второй части. Будет ли так работать весть код?

К сожалению нет возможности проверить/понять работоспособность вашего примера во моем скрипте т.к. скрипт большой и при неполадке может повредить контент сайта.
Ответить с цитированием
  #4 (permalink)  
Старый 07.06.2011, 21:22
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

Нет конечно. Скорее всего ваша задача требует капитального продумывания, а код рефакторинга
__________________
readOnly
Ответить с цитированием
  #5 (permalink)  
Старый 07.06.2011, 22:13
Кандидат Javascript-наук
Отправить личное сообщение для Slavenin Посмотреть профиль Найти все сообщения от Slavenin
 
Регистрация: 20.11.2010
Сообщений: 143

если не секрет, зачем вообще устанавливать задержку выполнения скриптов? возможно если дадите больше информации, будет проще предложить решение.
__________________

Ответить с цитированием
  #6 (permalink)  
Старый 07.06.2011, 23:19
Новичок на форуме
Отправить личное сообщение для adrian16 Посмотреть профиль Найти все сообщения от adrian16
 
Регистрация: 07.06.2011
Сообщений: 3

Сообщение от Slavenin Посмотреть сообщение
если не секрет, зачем вообще устанавливать задержку выполнения скриптов? возможно если дадите больше информации, будет проще предложить решение.
Хорошо, выскакивает окно confirm, нужно чтобы после 5ти минут нажималось ок. Что можно придумать в данном случае?
Ответить с цитированием
  #7 (permalink)  
Старый 08.06.2011, 07:57
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Ничего. Нажать на ок в конфирме нельзя.
Ответить с цитированием
  #8 (permalink)  
Старый 08.06.2011, 09:19
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Да и в опере по ходу модальные окна не останавливают выполнение скрипта,по крайней мере с алерт
Ответить с цитированием
  #9 (permalink)  
Старый 09.06.2011, 16:39
Профессор
Отправить личное сообщение для Маэстро Посмотреть профиль Найти все сообщения от Маэстро
 
Регистрация: 02.07.2010
Сообщений: 642

Сообщение от adrian16 Посмотреть сообщение
Хорошо, выскакивает окно confirm, нужно чтобы после 5ти минут нажималось ок. Что можно придумать в данном случае?
Элементарно. Не используйте броузерное модальное окно. Нарисуйте свое окно с помощью DIV с абсолютным позиционированием. На момент запуска окна задизейбливайте всё остальное и запускайте таймер. После срабатывания таймера шлите событие тому, кому нужно (для этого даже не обязательно "нажимать" нарисованную кнопку).
Ответить с цитированием
  #10 (permalink)  
Старый 09.06.2011, 16:42
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Маэстро
Нарисуйте свое окно с помощью DIV с абсолютным позиционированием. На момент запуска окна задизейбливайте всё остальное и запускайте таймер. После срабатывания
очередь это не отменит,и как было сказано выше -задача требует очень глубокого продумывания индивидуально под каждую строку кода

Последний раз редактировалось dmitriymar, 09.06.2011 в 16:44.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать bodyclick код royksopp Общие вопросы Javascript 8 14.10.2011 16:39
Оптимизировать код vazerdim jQuery 7 14.03.2011 13:42
Помогите код оптимизировать. Suharik Events/DOM/Window 2 27.05.2010 11:59
Opera отдаёт неправильный код функциональных клавиш. NT Man Opera, Safari и др. 1 19.01.2010 02:45
Помогите оптимизировать код. pizzZ jQuery 5 17.11.2009 23:52