определить источник (то есть: код JavaScript, код сервера, кэш браузера и т. д.) того, как поле ввода HTML получает свое значение - PullRequest
1 голос
/ 01 августа 2011

Можно ли поставить точку останова в поле ввода HTML (скажем, с помощью Firebug или другого плагина) и определить, что на самом деле устанавливает значение в поле ввода? ИЛИ определить (последний) источник значения - то есть, какое значение установить последним? Я знаю, как устанавливать точки останова в JavaScript с помощью Firebug, но не наоборот. Я вполне уверен, что значение поля ввода происходит на стороне клиента, потому что это происходит только в Mozilla Firefox (и я думаю, что это доказано в ссылке ниже из моего предыдущего вопроса). Я не знаю, есть ли другой способ заполнить поле ввода на стороне клиента, кроме JavaScript. Если вы знаете способ, пожалуйста, прокомментируйте, и я буду голосовать за вас.

См. Этот вопрос для более подробной информации: ASP.NET TextBox (поле ввода HTML) заполняется именем пользователя автоматически при загрузке формы

Если вы можете сказать мне ответ на этот вопрос, я дам вам кредит на оба вопроса (это и ссылка выше).

Ответы [ 3 ]

1 голос
/ 05 августа 2011

Нет, это невозможно в Firefox / Firebug. Лучшее, что вы можете сделать - это заставить JS (обычно) уведомлять вас или регистрировать изменения по мере их возникновения.

Chrome немного лучше, потому что он позволяет устанавливать глобальные точки останова прослушивателя событий. Таким образом, если вы установите точки останова для событий клавиатуры, мыши и управления, то Chrome перейдет к соответствующему JS-коду (если есть), который запускает эти события. (И один из этих обычно срабатывает при изменении входа.)

В большинстве браузеров, особенно в Firefox, вход может получить значение одним из следующих способов:

  1. Действие пользователя.
  2. Javascript.
  3. Расширение браузера / надстройка или плагин.
  4. Браузер будет заполнять последние пользовательские значения во многих случаях, если не указано иное. См. «Три аспекта автозаполнения» .
  5. Предопределенные значения, закодированные в HTML.

Вы можете получить лучшее представление о том, что JS может делать во время загрузки страницы, используя профилировщик Firebug .

Добавьте такой код в начало раздела <HEAD> страницы. :

<script type="text/javascript">
    console.profile("Startup JS Profiler");
    window.addEventListener ("load", function() {
            console.profileEnd("Startup JS Profiler"); 
        }, 
        false 
    );
</script>

Затем смотрите консоль, пока страница загружается.

1 голос
/ 02 августа 2011

Вы можете привязать обработчик onChange к элементу INPUT и затем записать информацию на консоль. console.trace также будет полезно здесь (если вы используете Firebug).

0 голосов
/ 04 августа 2011

Пока кто-нибудь не ответит на этот вопрос, для Firefox не существует инструментов для определения источника.Но я понял, что браузер сам устанавливает данные.Функция запоминания пароля в Mozilla устанавливает текст в поле ввода TextBox / самостоятельно.Подробности в гиперссылке в моем вопросе.

...