Что вызывает дублирование ввода символов в моих текстовых полях веб-формы в IE? - PullRequest
0 голосов
/ 01 декабря 2009

У нас есть довольно надежное приложение ASP.NET, использующее немного AJAX, jQuery & CSS.

После открытия нового экземпляра браузера с помощью CTRL + N, при вводе данных в текстовые поля, если пользователи хотят ввести «foobar», он дублирует каждую нажатую клавишу. Так что вместо этого они получают "ffoooobbaarr".

Мы не можем изолировать это от согласованной среды отладки, охватывающей машины. Тем не менее, мы можем последовательно дублировать проблему на определенных образах или виртуальных машинах, но не на наших машинах для разработчиков (конечно!). У нас есть тренировочный центр, где на каждой коробке изображен один и тот же образ, и это происходит последовательно с ними в зависимости от упражнения. Иногда это случается, иногда нет. Очень расстраивает.

В Интернете есть незначительные доказательства, касающиеся IE6, об этих проблемах, но на самом деле нет никаких решений, плюс мы используем IE7 и IE8.

Мысли о том, как это отладить? Или, может быть, ссылка на ответ где-то?

Ответы [ 2 ]

1 голос
/ 01 декабря 2009

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

Учитывая, что CTRL + N не создает новую среду, а скорее создает новое окно в существующей среде, возможно, что ваш скрипт фактически подписывается на неправильное окно, я имею в виду, что новый набор обработчиков вместо подключения к новое окно подключается к исходному. В этом случае события будут инициироваться дважды в окне orig, а в новом - совсем нет.

В зависимости от того, как расположено окно, оно может зависеть от браузера или даже от времени.

0 голосов
/ 03 декабря 2009

Оказалось, что это window.setTimeout (); вмешиваясь в некоторые работы WCF. Эти setTimeouts () являются демоническими и вызывали проблемы с самого начала существования функции.

...