![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
Всем привет. заметил одну проблему. У меня на сайте есть кнопка, которая открывает новое окно через:
после его частого закрытия и открытия стал наблюдать некоторую заторможенность браузера FF. Стал смотреть в диспетчер задач, а там следующее: При открытии окна выделяется некоторое кол-во памяти, но при закрытии освобождается намного меньшее ее кол-во. Таким образом, память засоряется и браузер начинает тормозить (особенно это заметно в FF и Opera, IE вроде не так захламляет память, но все равно тоже присутствует). Подскажите в чем проблема утечки памяти, или это такая особенность windpw.open()? или я ни так с ней работаю? |
|||
|
||||
| casinosoftguru |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 22.12.2008 Репутация: нет Всего: нет |
возможно поможет установка объекта в null, т.е.
|
|||
|
||||
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
casinosoftguru, здесь для закрытия окна Вы использовали метод closepopup(), а нельзя ли как-нибудь навесить на событие закрытия окна?
|
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
как-нибудь так
вообще-то, imho, кроме callback'а нужно поставить my_window.document.close() после вывода содержимого кона. А озможно тогда не пришлось бы и огород с calback'ом городить... Это сообщение отредактировал(а) ksnk - 27.12.2010, 18:46 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
ksnk, а через addListerner() можно как-нибудь?
|
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
А зачем? такая запись достаточно кроссброузерна, так что менять ее на худшую и более длинную не вижу смысла... Это сообщение отредактировал(а) ksnk - 27.12.2010, 19:07 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
ksnk, ну просто я не хочу закрывать окно с помощью кнопки
а хочу закрывать с помощью крестика на окне. |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
а я как сделал? дополнительная скриптовая вставка в window.open именно для этого и нужна. В примере кнопка закрытия в основном оконе служит в том числе и для контроля наличия переменной - освободилась или нет. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
Прошу прощения но я чего-то не понимаю. Вы описали две кнопки и навесили на них два обработчика событий onclick:
Мое окно не вызывается через input button, а появляется после отработки AJAX запроса, поэтому мне также не нужен input button для закрытия окна. Просто нужно подписаться на событие закрытия этого окна по крестику. Или я чего-то не понимаю? |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
существенная часть - добавлена скриптовая вставка в новое окно - в параметр my_window.document.write
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
ksnk, Прошу прощения, что сразу не понял. Теперь все понятно, Вы знаете сделал так как Вы сказали, но память все равно не освобождается. Я не знаю что это за жесть с FF твориться, но после многократного открытия и закрытия окна (window.open), память постоянно пухнет.
|
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
А в прежнем варианте, без вставки и кнопкой закрытия в том-же окне работало нормально?
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
ksnk, также память кушала, такое впечатление, что это проблема FF. Он очень плохо освобождает выделенную память
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |