[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как уменьшить траффик с iframe?
program90
Здравствуйте,
подскажите, как уменьшить траффик при использовании iframe? В чате каждые несколько секунд обновляется фрейм с сообщениями. Для каждого пользователя каждый раз отправляется полностью все сообщения со времени, когда он вошел, до нового сообщения.
Можно ли как-то только добавлять во фрейм новые сообщения не используя ajax? Или все чаты, написанные без ajax, отправляют каждую секунду заново все окно сообщений (например, за несколько часов разговора).



Спустя 3 часа, 7 минут, 26 секунд (4.12.2010 - 08:32) Игорь_Vasinsky написал(а):
Цитата
Или все чаты, написанные без ajax, отправляют каждую секунду заново все окно сообщений (например, за несколько часов разговора).


как настроишь... можно вообще кнопу "релоад" сделать и перевести всё на ручной режим.

а чё тя так траф пугает ? он там мелкий.


Спустя 3 часа, 7 минут, 20 секунд (4.12.2010 - 11:39) FatCat написал(а):
Цитата (program90 @ 4.12.2010 - 06:24)
Можно ли как-то только добавлять во фрейм новые сообщения не используя ajax?

Можно.
Можно даже дать пользователю выбрать рефрешить или добавлять.
Если чекбокс рефреша выбран, сервер отдает весь текст беседы методом innerHTML =
Если чекбокс сброшен, сервер отдает только новые сообщения методом innerHTML +=


Цитата (Игорь_Vasinsky @ 4.12.2010 - 09:32)
а чё тя так траф пугает ? он там мелкий.

При активном общении 4-5 Мб в час - легко. По эджу с лимитного мобильного тарифа вполне ощутимо.

Спустя 51 минута, 40 секунд (4.12.2010 - 12:31) Slays написал(а):
program90
зачем ты обновляешь постоянно главный фрейм с сообщениями, создай невидимый фрейм в 0px и обновляй его, передавая в основной фрейм только последние сообщения из базы через innerHTML +=

Спустя 8 минут, 54 секунды (4.12.2010 - 12:40) sergeiss написал(а):
Цитата (program90 @ 4.12.2010 - 06:24)
подскажите, как уменьшить траффик при использовании iframe?

А чем аякс не нравится? Там гарантированно трафик будет минимально возможный.

Спустя 1 час, 13 минут, 53 секунды (4.12.2010 - 13:54) program90 написал(а):
Slays
Спасибо. Сейчас попробую. Может так лучше да.


А почему через просмотр кода в бразуере (ctrl+U) не видно то что загрузилось в фрейм?

Спустя 3 часа, 27 минут, 52 секунды (4.12.2010 - 17:21) program90 написал(а):
Игорь_Vasinsky
Просто вдруг будет много текста и тогда будет заметно обновление каждую секунду. Если 1 кб приходит каждую секунду, то в месяц - где-то 1 Гб. Т.е. получается много.

Спустя 41 секунда (4.12.2010 - 17:22) program90 написал(а):
sergeiss
Можно и с аякс в принципе...

Спустя 44 минуты, 38 секунд (4.12.2010 - 18:07) program90 написал(а):
FatCat
Игорь_Vasinsky
А что значит рефреш? Заголовок метатега? Или просто обновление из главного окна с фреймами с помощью javascript setInterval?

И еще вопрос:
Почему может не работать innerHTML для фрейма в этом коде? ('kkkkk' не добавляется к тексту):


<script type="text/javascript">
setInterval(document.getElementById('gframe').document.body.innerHTML += 'kkkkk';", 7000);
</script>



И еще: почему не работают полосы прокрутки в фрейме? В гугле написано, что если загружать в фрейм страницу с другого сервера, то тогда будет какое-то ограничение доступа к фрейму. А что это за ограничение? И можно ли в src, например, написать window.php?
У меня в srс написано "general_window.html" (т.е. файл находится локально). А форма обновления фрейма обращается к "general_window.php", т.е. этот файл тоже находится локально в той же папке, где фрейм. Но скроллинг в окне не работает, когда текст уходит ниже экрана.

Спустя 2 часа, 1 минута, 54 секунды (4.12.2010 - 20:09) Slays написал(а):
поставь у фрейма скролинг на авто и все

Спустя 31 минута, 4 секунды (4.12.2010 - 20:40) program90 написал(а):
Все равно не работает.
А в Internet Explorer'е фреймы не отображаются. Но зато innerHTML работает, т.е. текст 'kkkkk' постоянно прибавляется.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.