Какой инструмент можно использовать, чтобы узнать, какие события JavaScript вызываются при выходе с веб-страницы? - PullRequest
2 голосов
/ 12 марта 2009

У меня есть набор страниц с тоннами JavaScript: сортировка таблиц, вызовы AJAX, автозаполнение, динамическое скрытие и отображение областей страницы и т. Д. Я вижу проблему, когда данные на страница становится большой задержкой (браузер зависает) замечается при выходе из страницы. Эта задержка происходит, когда пользователь щелкает, закрывает браузер или выполняет отправку формы. Я хочу увидеть, если проблема вызвана JavaScript. Какой инструмент я мог бы использовать, чтобы узнать? Похоже, что Firebug не работает в этом сценарии.

Единственное место, где выгрузка упомянута в кодовой базе, находится в jquery.js и ui.tabs.js (jquery ui)

Ответы [ 2 ]

1 голос
/ 12 марта 2009

Существуют ли какие-либо обработчики событий onunload (к телу, окну, форме и т. Д.)? Если это так, это было бы хорошей отправной точкой для расследования.

[Edit]: Очевидно, jQuery запускает цикл, отменяющий привязку всех событий, прикрепленных к каждому элементу. Это сделано для предотвращения утечек памяти в IE (созданных из-за замыканий обработчиков событий, ссылающихся на элемент, который они слушают). Это может создать задержку, если ваш DOM очень сложен.

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

[Редактировать 2]: Выгрузка окна, кажется, была улучшена в более новых версиях jQuery (1.3+). Какую версию вы используете?

0 голосов
/ 12 марта 2009

Inline Code Finder - это надстройка для Firefox (ну, на самом деле, это надстройка для Firebug), которая визуально показывает вам, какие события прикреплены, где и когда они вызваны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...