Подтвердить что ты не робот

"SCRIPT28: из пространства стека" на веб-сайте с использованием IE9

У меня возникла проблема, когда все элементы управления ссылками на моей странице не работают, когда мы развертываем наш веб-сайт на нашем производственном сервере. Вот несколько деталей:

  • У нас есть 3 среды, на которых мы развиваемся: наша локальная машина, которая использует локальный IIS7 для запуска для разработки; тестовая среда, которая является фактическим веб-сервером позади нашего брандмауэра (IIS6); Производство, которое является нашим веб-сервером (IIS6). Веб-сайт отлично работает на локальных машинах и тестовом сервере, но как только мы нажимаем кнопку ссылки на рабочем сервере, она висит.

  • Проблема не существует в Chrome, или FireFox она существует только в IE9. Он не существует, когда вы помещаете IE9 в режим совместимости.

  • Если я использую панель инструментов разработчика IE9 и смотрю скрипты, как только вы нажмете одну из кнопок ссылки, консоль покажет эту ошибку:

SCRIPT28: из пространства стека , символ линии 340

  • Я использую довольно много JQuery, и мне интересно, вызывает ли это проблему: однако я не вижу ошибок JavaScript.

Любые мысли? Спасибо за любые предложения.

4b9b3361

Ответ 1

Как говорят люди в комментариях: это означает, что имеет место бесконечная рекурсия. Является ли это простой рекурсией или каким-то коварным путем через код, как змей, кусающий его хвост - неизвестно, кажется, что IE не выдает stacktrace или делает?

Ответ 2

Можете ли вы разместить код/​​ссылку на код или закрыть эту проблему?

Общие проблемы: у вас может быть проблема закрытия в html, поэтому разные браузеры по-разному интерпретируют иерархию html, или вы можете перебирать через for (x in y), где x содержит обратную ссылку на y.

Ответ 3

Обратитесь к странице msdn для получения информации об этой ошибке. В моем случае ошибка была вызвана:

Ваш код вызвал каскад событий.
     Каскад событий вызван запуском события, которое вызывает процедуру события, которая уже находится в стеке....

В принципе, я пытался вызвать событие click (используя jQuery) в элементе управления загрузкой файлов, используя событие click click. Похоже, это вызовет бесконечную рекурсию. Возможно, у вас могут быть проблемы с кнопками.

Ответ 4

Я воспроизвел эту проблему, когда я делаю следующий код:

HTML

<span class="search-icon"><input title="search" type="submit" value=""></span>

JS

(function($) {
    $('.search-icon').on('click', function(e) {
        // The click event will call  $('.search-icon').on('click', function(e) { .. } for every time
        // which make an infinte loop in click event as long as there are no stop condition added here.
        $(this).find('input').click();
    });
})(jQuery);

Я решил эту проблему, изменив код JS:

(function($) {
        $('.search-icon').on('click', function(e) {
            $(this).closest('form').submit();
        });
})(jQuery);

Я надеюсь, что этот ответ будет полезен для вас.