Компонент ASCX отладки IE8 не показывает правильное расположение в коде JavaScript, когда он останавливается - PullRequest
0 голосов
/ 02 августа 2010

У меня есть компонент ASCX, в котором много javascript, объявленного в теге script в самом ascx. Я могу установить точки останова, и отладчик останавливается, как и должно, но текст, который выделен в отладчике как «текущая строка», находится далеко от фактического javascript (он намного выше в отображаемом файле, чем должен быть). Я могу «крыть» его для одной или двух строк с реальным кодом рядом с «ложной» линией выполнения, но я теряю все возможности наведения и все остальное, что делает полезной отладку javascript.

Я попытался поместить скрипт в начало моего файла ascx, но безрезультатно. Я пытался не устанавливать точку останова до тех пор, пока не будет отображена вся страница, поэтому мне приходится прокручивать весь путь до тех мест, где находятся реальные строки кода, и отладчик по-прежнему останавливается где-то над ней.

Кто-нибудь еще видел это или нет, как обойти это?

Пожалуйста, не отвечайте с предложениями по использованию другого браузера. Этот сайт не работает, кроме как в IE7 и IE8.

Спасибо!

Ответы [ 3 ]

1 голос
/ 30 сентября 2011

Наконец !!!

Я искал решение этого вопроса в течение МЕСЯЦЕВ!

Это сработало для меня:

<script type="text/javascript" language="javascript">
  debugger
    function ThrowError() {
        $(function () {
            $.openDOMWindow({
                loader: 0,
                width: 500,
                height: 250,
                windowSourceID: '#ErrorAlert'
            });
            return false;
        });
    }
    function CloseError() {
        $(function () {
            $.closeDOMWindow({});
            return false;
        });
    }

    if ("False" == "True") ThrowError();
</script>

Не знаюзнаю, правильно ли я его использую, но, кажется, дает мне то, что мне нужно.

Спасибо !!

0 голосов
/ 27 сентября 2011

Я имею дело с той же проблемой, что и вы. Я не могу переместить код js во внешний JS (потому что парень, который написал код, использует переменные .cs с <% = var%>. Самое простое решение, которое я нашел, это написать debugger; везде, где вы хотите, чтобы браузер начал отладку скрипта.

0 голосов
/ 02 августа 2010

Переместите скрипт во внешний файл JS.
(В любом случае, это хорошая практика)

...