|
|
|
| Такая проблема, при общении в чате, начала происходить утечка памяти, в результате которой, чат намертво "вешает" браузер. Помогает только его перезапуск.
Сообщение добавляются таким образом
top.frames['message'].document.body.innerHTML += 'new message';
|
Может проблема быть в таком способе добавления или стоит искать в другом направлении? | |
|
|
|
|
|
|
|
для: Drago
(10.09.2007 в 21:45)
| | чат на аяксе?
если да - после запроса очищайте объект | |
|
|
|
|
|
|
|
для: bronenos
(10.09.2007 в 22:22)
| | дело в том, что я использую библиотеку jshttprequest и сам аякс объекты не создаю. | |
|
|
|
|
|
|
|
для: Drago
(10.09.2007 в 23:06)
| | получаете готовый хтмл-код или парсите? | |
|
|
|
|
|
|
|
для: bronenos
(11.09.2007 в 00:37)
| | при обращении к пхп скрипту, я получаю данные ввиде js массива (это особенность jshttprequest), один из элементов которого, содержит строку, которая, в свою очередь, передается на исполнение функции eval().
То есть, к примеру, если в строке содержиться текст "addtext('text');". То в браузере исполниться функция addtext().
Эта функция обрабатывает передаваемые ей параметры, и выводит сообщение, с помощью описанного, в первом посте, действия. | |
|
|
|
|
|
|
|
для: Drago
(11.09.2007 в 01:02)
| | дайте-ка ссылку на ваш чат, посмотрю
(так уверены, что это - особенность? =) ) | |
|
|
|
|
|
|
|
для: bronenos
(11.09.2007 в 10:05)
| | >дайте-ка ссылку на ваш чат, посмотрю
отправил вам на е-маил
>(так уверены, что это - особенность? =) )
пусть не особенность, просто в других попавшихся мне библиотеках, такой способ получения данных, не был столь акцентирован :) | |
|
|
|
|
|
|
|
для: Drago
(11.09.2007 в 17:00)
| | я тоже позаимствовал этот способ)) | |
|
|
|
|
|
|
|
для: Drago
(11.09.2007 в 17:00)
| | вы мне в асю стукните (4110863) - поговорим насчет этого (представьтесь тока ))) | |
|
|
|
|
|
|
|
для: Drago
(10.09.2007 в 23:06)
| | >дело в том, что я использую библиотеку jshttprequest и сам аякс объекты не создаю.
неверно, объект вы как раз создаёте
var req = new Subsys_JsHttpRequest_Js();
|
его и надо почистить | |
|
|
|
|
|
|
|
для: Crux
(13.09.2007 в 08:25)
| | Я использую версию библиотеки 4.15. И единственный объект, который я создаю, это
var req = new JsHttpRequest();
|
Но, это происходит внутри функции
function loadrequest(actionfile,query)
{
var req = new JsHttpRequest();
req.onreadystatechange = function()
{
if (req.readyState == 4)
{
eval(req.responseJS.func);
scrolldiv();
if (req.responseText)
document.getElementById('errors').innerHTML = req.responseText;
}
}
req.open('POST', actionfile, true);
req.send( { text:query } );
}
|
А значит, переменная req, является локальной и должна сама очищаться при завершении выполнения функции. | |
|
|
|
|
|
|
|
для: Drago
(10.09.2007 в 21:45)
| | Попробуйте добаdлять c помощью
а не
| |
|
|
|
|
|
|
|
для: Balamut182
(12.09.2007 в 00:07)
| | я тоже += делаю, у меня утечек нет | |
|
|
|