Как избежать и устранить проблемы с производительностью в расширениях Firefox

#javascript #firefox-addon

#javascript #firefox-дополнение

Вопрос:

Я столкнулся с некоторыми проблемами с производительностью в моем расширении Firefox. Я только начал разрабатывать с Firefox и пока действительно просматриваю код.

Сейчас я просто выполняю некоторую проверку формы, которая иногда замораживает всю форму.

Мне любопытен ваш совет. Какие методы программирования повышают производительность?

Обновление: похоже, что следующий код приводит к зависанию расширения на 1-2 секунды. когда таймер достигнет 5000.

 setTimeout(function(){
    notify.setAttribute("style", "display:none;");
}, 5000);
  

Комментарии:

1. В обычном js программисты обычно пишут: notify.style.display = "none";

2. То, что сказал Кириллоид, будет работать в расширении так же хорошо, как и на веб-странице. Это может быть даже немного быстрее, хотя я не вижу никаких причин, по которым выполнение вашего текущего кода заняло бы больше секунды. Вы абсолютно уверены, что именно этот код замораживает браузер?

3. В зависимости от того, какие уведомления / события у вас есть на странице, возможно, что при этом изменении выполняется некоторая обширная обработка DOM. Попробуйте поместить этот код в какое-нибудь событие click, чтобы вы могли нажать на кнопку и посмотреть, получите ли вы такое же поведение зависания при нажатии.

4. ну, у меня есть предопределенная метка, когда пользователь нажимает на кнопку отправки, выполняется некоторая проверка (просто проверка некоторой длины и регулярных выражений), и в результате я изменяю атрибут value метки, чтобы сообщить пользователю, чтобы там не было ничего обширного … возможно, на моем компьютере есть какие-то другие вещи, которые замедляют работу. Но мой вопрос был более общим. Так что просто кодируйте так, как это было бы веб-страницей?

5. опубликуйте это как ответ, если хотите 😉

Ответ №1:

Что касается разработки XUL, то по большей части это похоже на разработку веб-страницы (с немного расширенным API).