Перейти к содержимому

Как остановить выполнение скрипта javascript в браузере

  • автор:

Курсы javascript

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

22.08.2008, 09:32
Регистрация: 25.07.2008
Сообщений: 1,271
window.stop()
22.08.2008, 14:31
Регистрация: 21.02.2008
Сообщений: 1,250
ZoNT,
На сколько я знаю, window.stop() останавливает загрузку окна, а не выполняемый скрипт.
22.08.2008, 14:38
Регистрация: 25.07.2008
Сообщений: 1,271
вполне может быть — никогда не пользовался.
23.08.2008, 21:37
Infocatcher
Сообщений: n/a

Если нужна возможность продолжения, то смотреть в сторону
window.alert(msg);
window.confirm(msg);
window.prompt(msg, defaultValue);
Впрочем, «window.» можно опускать.

24.08.2008, 04:04
Новичок на форуме
Регистрация: 22.08.2008
Сообщений: 2
Спасибо ребят, то что надо
01.05.2009, 18:08
Регистрация: 16.07.2008
Сообщений: 207

подниму темку.
Сейчас потребовалось тоже остановить выполнение скрипта в определенном месте.
но когда пишу throw «stop», firebug ругается «uncaught exception: stop»
как бы так остановить чтоб и жук не ругался ?

01.05.2009, 18:23
Регистрация: 04.04.2008
Сообщений: 6,246

throw new Error("stop");

вот так насколько я помню правильно бросать исключения
только теперь фаербаг все равно ругается)

throw new Error("stop");

НО!
если обернуть исключение в блок try-catch, на что он и расчитан, то соответсвенно никакой ошибки в фаербаге не выдается
ни при одном из двух вариантов

try < throw "dsf"; //throw new Error("dsf"); >catch(e)

оберните весь глобальный скрипт в исключение, и все будет норм
01.05.2009, 18:31
Регистрация: 16.07.2008
Сообщений: 207

в том то и дело что try-catch у меня ловит throw с ошибками, выдает пользователю сообщение и останавливает скрипт.
Типа такого:

try < // код if(Бог есть == true) throw "верующий"; >catch(e) < alert(e); throw "stop"; // скрипт дальше не должен выполняться. >

а после алерта скрипт продолжит выполняться
01.05.2009, 18:42
Регистрация: 04.04.2008
Сообщений: 6,246

try < try < // код if(Бог есть == true) throw "верующий"; >catch(e) < alert(e); throw "stop"; // скрипт дальше не должен выполняться. >//этот блок уже не выполнится >catch(e)<>

Остановить выполнение скрипта

Author24 — интернет-сервис помощи студентам

у меня простое условие, если есть кнопка — нажать, а если нету — перезагружать страницу каждые 10 секунд, пока не появится. Но когда нажимается кнопка, это условие IF перестаёт выполняется,(так как при нажатии — кнопка пропадает) и страница перезагружается, что нужно дописать в этой строке?

Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Загрузка и выполнение скрипта из другого скрипта
Здравствуйте. У меня динамически скрипт формирует ссылку на которой лежит другой скрипт. Задача.

Promise остановить выполнение
Добрый день. Подскажите, как остановить выполнения промиса? ConfirmCodeFetch возвращает Promis Я.

Автоматическое выполнение скрипта
Выполняя задачу из этой темы https://www.cyberforum.ru/javascript-beginners/thread2790936.html.

Выполнение скрипта после Ajax
Приветствую. У меня есть меню и по клику на любой пункт идет подгрузка контента через Ajax, далее .

3491 / 1255 / 428
Регистрация: 24.07.2016
Сообщений: 1,871

ЦитатаСообщение от NakerIT Посмотреть сообщение

что нужно дописать у код, чтобы после клика — завершило скрипт?

Очевидно нужно остановить перезагрузку и «пропадание» кнопки. Но здесь ничего не понятно. Давайте остальной код.

Регистрация: 12.01.2022
Сообщений: 2
klyapa, вот мой код:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
setInterval(function(){ if(document.getElementById("getKeyButton")) { document.getElementById("getKeyButton").click(); } else { location.reload(); } }, 10000);

3491 / 1255 / 428
Регистрация: 24.07.2016
Сообщений: 1,871

Лучший ответ

Сообщение было отмечено NakerIT как решение

Решение

1 2 3 4 5 6 7 8
let idInt = setInterval(function() { if(document.getElementById("getKeyButton")) { document.getElementById("getKeyButton").click(); clearInterval(idInt); } else { location.reload(); } }, 10000);

Добавлено через 4 минуты
Но ещё видимо есть обработчик клика по кнопке, в котором тоже нужно смотреть, что он делает. С какого перепуга кнопки на странице нет, а потом она внезапно появляется, после какой-то перезагрузки?

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

выполнение скрипта с шагом в 1 секунду
подскажите как мне вызывать функцию каждую секунду и при этом туда задавать шаг? for(step=1;.

Как сделать выполнение скрипта асинхронно в нескольких блоках?
Добрый день! Никак не получается найти решение для правильной работы скрипта. Имеется несколько.

Как остановить цикличное выполнение Javascript скрипта?
Добрый день. Подскажите пожалуйста какое-нибудь решение проблемы.. Реализована такая схема.

Как остановить выполнение скрипта? как «exit» в php?
Всем добрый вечер. В php есть exit который останавливает все, есть ли такое в javascript? Для.

Остановить выполнение функции и перезапустить ее выполнение по новой
Всем доброго вечера. Друзья, подскажите пожалуйста — есть код, который после загрузки ДОМ дерева.

Остановить выполнение функции
Приветствую, ребята. Есть кнопка в форме, подтверждающая отправку. При нажатии, если выполнилось.

Или воспользуйтесь поиском по форуму:

Остановить выполнение скрипта | JavaScript

Прервать работу скрипта или в чём разница между return; return false; return true;

Если не нужно знать достигла ли функция положительного исхода, то достаточно указать return без значения:

   

Если дальнейшее выполнение скрипта должно прерываться (или развиваться по другому пути) при достижении положительного исхода рассматриваемой функции, то return присваивается значение, чаще false или true :

   

Как использовать return, когда функция вызывает саму себя (рекурсия)

  

Возврат массива из функции

  

Как остановить выполнение скрипта js

Для остановки выполнения JS кода на странице, можно сделать так:

  • Открыть DevTools и перейти на вкладку Sources;
  • Выбрать файл с логикой по которому будет вестись работа и найти необходимую строчку кода где необходимо поставить брейкпоинт;
  • Слева от строки находится столбец с ее номером. Если на него нажать, то появится синий значок — это и есть брейкпоинт того, чтобы использовать точку останова в DevTools;

add_breakpoint

Там же, кстати, ими можно и управлять:

  • Чтобы отключить брейкпоинт, достаточно убрать галочку рядом с ним
  • Удалить брейкпоинт можно с помощью нажатия на правую кнопку мыши около точки останова

manage_breakpoint

Еще бывают точки останова в коде, которые можно самостоятельно поставить в коде. Для создания такого брейкпоинта нужно просто вызвать debugger в коде. Этот подход эквивалентен предыдущему способу, через DevTools, только без использования визуального интерфейса.

console.log('a'); console.log('b'); debugger; console.log('c'); 

Еще есть вариант использовать throw. Инструкция throw позволяет генерировать исключения, определяемые пользователем. При этом выполнение текущей функции будет остановлено (инструкции после throw не будут выполнены), и управление будет передано в первый блок catch в стеке вызовов. Если catch блоков среди вызванных функций нет, выполнение программы будет остановлено.

const sayMeow(cat) =>  if (!cat.meow)  throw new Error('это не кот и он не умеет говорить мяу!'); > cat.meow() > 

Ну и наконец можно использовать точки останова в DOM, если вы собираетесь приостановить код, который изменяет узел DOM или его дочерние элементы. Это делается следующим образом:

  • Перейдите во вкладку Elements
  • Найдите элемент, на который нужно установить брейкпоинт
  • Нажмите на элемент правой кнопкой мыши
  • Наведите мышь на Break on, а затем выберите Subtree modifications, Attribute modifications или Node removal в зависимости от того, что вы хотите сделать. Ниже расскажем, что это такое и как работает.

dom_breakpoint

Более подробно про точки останова можно прочитать здесь, в интересной статье, на Хекслете.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *