если я делаю ошибку в коде и вызываю бесконечный цикл в JavaScript, и это продолжает называть предупреждение (), есть ли выход для остановки цикла?

Гораздо более простым решением этой проблемы, позволяющим использовать буквы, цифры и слова в качестве метки, является следующий код. Более конкретно, строка кода начинается с «icon:». Любая строка или переменная может быть заменена на «k».

for (i = 0; i < locations.length; i++) 
      { 
      k = i + 1;
      marker = new google.maps.Marker({
      position: new google.maps.LatLng(locations[i][1], locations[i][2]),     
      map: map,
      icon: 'http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=' + k + '|FF0000|000000'
});

--- массив location содержит значения lat и long, а k - номер строки для адреса, который я отображал. Другими словами, если бы у меня было 100 адресов для сопоставления, мои маркеры были бы от 1 до 100.

9
задан nopole 21 May 2009 в 19:01
поделиться

6 ответов

Краткий ответ: Нет.

Это одна из веских причин для использования Firebug и функции console.log. Что, по иронии судьбы, приведет к тому, что в некоторых случаях не будет отображаться диалог «Остановить скрипт, потому что он убегает», что означает, что вы вернулись туда, где находитесь сейчас.

Chrome и Opera имеют эту функцию. IE не делает, Apple Safari тоже.

Не родное решение, но вы можете попробовать этот сценарий «жирной обезьяны»: http://www.tumuski.com/2008/05/javascript-alert-cancel-button/

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

var displayAlerts = true;

А затем:

function alert(msg) {
  if (displayAlerts) {
     if (!confirm(msg)) {
       displayAlerts = false;           
     }
  }
}
17
ответ дан 4 December 2019 в 08:34
поделиться

Ни за что. Хорошо, что хотя большинство браузеров имеют бесконечную защиту от рекурсии, но это оффтоп.

0
ответ дан 4 December 2019 в 08:34
поделиться

Google Chrome позволяет запретить отображение дополнительных предупреждений.

2
ответ дан 4 December 2019 в 08:34
поделиться

Я написал расширение Firefox для решения этой проблемы.

https://addons.mozilla.org/en-US/firefox/addon/13176

1
ответ дан 4 December 2019 в 08:34
поделиться

Установите Greasemonkey и перейдите на эту страницу: http://www.tumuski.com/2008/05/javascript-alert-cancel-button/

После установки этого скрипта для greasemonkey любое диалоговое окно с предупреждением будет иметь кнопку отмены, которая остановит javascript.

0
ответ дан 4 December 2019 в 08:34
поделиться

Похоже, вы можете в firefox:

  1. Удерживайте Ctrl
  2. Удерживайте Enter
  3. Нажмите F4 один раз

Согласно сообщению в блоге, это работает не во всех случаях, дополнительная информация здесь: puremango.co.uk

5
ответ дан 4 December 2019 в 08:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: