Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Данные с сервера без reboot'а страницы, Как сделать тонкого клиента толстым :) 
:(
    Опции темы
diam
Дата 23.1.2005, 01:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 348
Регистрация: 23.1.2005
Где: Екатеринбург

Репутация: 6
Всего: 16



Привет, форум smile

У меня возникла такая потребность. Есть система документооборота. К ней нужно написать WEB-интерфейс, через который пользователи и будут работать с данной системой.
Дело в том, что компания, которая будет использовать эту систему, территориально весьма распределена. Работать с системой будут через интернет. А у многих филиалов реальная ширина канала до сервера - 40-60 кб/с. Примерно, как по модему.

То есть, если при каждом нажатии кнопки будет происходить перезагрузка страницы, то клиент при каждой перезагрузке получает ~13 kb кода, который, учитывая, что работа идёт по протоколу https, будет загружаться ~ 4 - 8 секунд. Это недопустимо медленно.

Поэтому я хочу написать web- следующим образом. При первом обращении к странице загружаются весь код js и костяк страницы. Потом, когда пользователь нажмёт на кнопку (например, посмотреть неподписанные документы), будет происходить не перезагрузка страницы, а обращение к mod_python'овскому скрипту на сервере '/requests.psp', который, получив запрос, будет выдавать результат, а js уже разместит это на странице. Таким образом, вместо 13 к скачается всего 200 байт (это к примеру). И скорость возрастёт.
Плюсом ко всему, докачиваемые с сервера данные могут быть любыми - картинка, текст...

Я знаю, что по такому принципу написана почта Google. Там вообще сначала качается 200 к информации, зато потом работа идёт ну Ооочень быстро.

Дайте, плиз, ссылки, как делать такие вещи.
PM MAIL   Вверх
sergejzr
Дата 23.1.2005, 01:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 10
Всего: 360



Можно использовать iframe.

Вот тут можно посмотреть всю дискуссию:
http://forum.vingrad.ru/index.php?showtopic=36331&hl=iframe

Вот пример:
http://files.vingrad.ru/sergej.z/nullframe2/1.html

И оба файла smile
1.html
data.html



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
diam
Дата 23.1.2005, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 348
Регистрация: 23.1.2005
Где: Екатеринбург

Репутация: 6
Всего: 16



Ага, спасибо!

Сейчас посмотрю smile
PM MAIL   Вверх
diam
Дата 26.1.2005, 01:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 348
Регистрация: 23.1.2005
Где: Екатеринбург

Репутация: 6
Всего: 16



Цитата(sergej @ 23.1.2005, 00:29)
Вот тут можно посмотреть всю дискуссию:
http://forum.vingrad.ru/index.php?showtopic=36331&hl=iframe

Вот пример:
http://files.vingrad.ru/sergej.z/nullframe2/1.html


В примерах показано, как использовать скрытые элементы IFRAME.
Но недостаток этого метода в том, что текст загружается в формате text/html. То есть, если нужно подгрузить какой-нибудь текст в виде --ххх--, то придётся подгружать свежее содержимое фрейма, потом парсить его.

В связи с этим вопрос: а можно ли для подгрузки использовать не IFRAME, а OBJECT?
PM MAIL   Вверх
Sardar
Дата 26.1.2005, 02:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(diam @ 26.1.2005, 00:35)
какой-нибудь текст в виде --ххх--

Да можно, как text/plain smile
Цитата(diam @ 26.1.2005, 00:35)
В связи с этим вопрос: а можно ли для подгрузки использовать не IFRAME, а OBJECT?

А что за обьект? Будут проблемы с совместимостью у разных браузеров.

Ты бы лучше рассказал какова задача, подскажем, а то дров наломаешь smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Garik
Дата 26.1.2005, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник Клуба
Сообщений: 216
Регистрация: 25.3.2002
Где: Москва

Репутация: нет
Всего: 4



Проще всего объявить в html в том месте где будет появляться информация пустой div, например с id="doc":

{тут какой-то код ХТМЛ}
<div id=doc style='position: absolute;'></div>
{продолжение ХТМЛя}

В JScript надо при получении информации добавить строку

doc.innerHTML=result;

где result - результат запроса.
--------------------
Программист - это не профессия. Это диагноз...
PM MAIL WWW ICQ   Вверх
Sardar
Дата 26.1.2005, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Garik это отображение реаультата, при чём не понятно зачем там position:absolute smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Garik
Дата 26.1.2005, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник Клуба
Сообщений: 216
Регистрация: 25.3.2002
Где: Москва

Репутация: нет
Всего: 4



А разве не результат надо отображать? Из вопроса я понял именно так... position:absolute там потому что я выдрал див из кода, ибо ленивый набирать руками smile. А там уж как кому надо, можно и без этого использовать.
--------------------
Программист - это не профессия. Это диагноз...
PM MAIL WWW ICQ   Вверх
sergejzr
Дата 26.1.2005, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 10
Всего: 360




Меня вот терзают смутные сомнения..

diam, в чём проблема с примером? Какие обьекты надо грузить?
Если доки с сервера, то достаточно ведь предоставить линк. Это текстовая инфа.
HTML само- собой тоже проходит.
Картинка загрузится тоже в HTML.

Тюе через iframe можно передавать ту же информацию, что и через обыкновенныё HTML ...


Garik, вот сам вопрос:
Цитата(diam @ 23.1.2005, 00:22)
При первом обращении к странице загружаются весь код js и костяк страницы. Потом, когда пользователь нажмёт на кнопку (например, посмотреть неподписанные документы), будет происходить не перезагрузка страницы, а обращение к mod_python'овскому скрипту на сервере '/requests.psp', который, получив запрос, будет выдавать результат, а js уже разместит это на странице. Таким образом, вместо 13 к скачается всего 200 байт (это к примеру). И скорость возрастёт.

Думаю, diam сам отобразит, как ему надо smile



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Vaulter
Дата 26.1.2005, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 1
Всего: 22



через iFrame,
на который будет ссылатся допустим ссылка в меню,
а точнее она ссылается на скрипт на сервере, а target = невидимому фрейму,
и скрипт кидает во фрейм обычные строки и массивы JS, смотря что треба:
Код
<HTML><script>var Array1=new Array(...... );var val1=....;
parseAnswers();</SCRIPT></HTML>

это самый простой способ.
самый сложный это LiveConnect[tm] от MS. это уже читай MSDN


--------------------
PM MAIL WWW ICQ   Вверх
diam
Дата 26.1.2005, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 348
Регистрация: 23.1.2005
Где: Екатеринбург

Репутация: 6
Всего: 16



Ребята, спасибо за ответы.

У меня сейчас мало времени, я позже расскажу, что хочу сделать..

Ещё раз большое спасибо.

P.S. Alexey(Eburg) сказал мне, что это лучший форум по JS. Действительно, лучше я не видел. Респект форуму!

P.P.S. А Alexey(Eburg) поставьте по +1 к репутации smile За рекламу smile
PM MAIL   Вверх
diam
Дата 26.1.2005, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 348
Регистрация: 23.1.2005
Где: Екатеринбург

Репутация: 6
Всего: 16



Ещё одно . Как динамически подгружать скрипты?

Допустим, у меня на сервере лежит скрипт /js01.js, в котором определены некоторые переменные и функции.

Задача, подгрузить его.
PM MAIL   Вверх
diam
Дата 26.1.2005, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 348
Регистрация: 23.1.2005
Где: Екатеринбург

Репутация: 6
Всего: 16



Ответ:
Код

// функция для подгрузки кода
function loadData () {
       var loaded_element = document.createElement("SCRIPT")
       loaded_element.type="text/javascript"
       loaded_element.src ="/js01.js"
       document.body.appendChild(sc_el)
}


Файл /js01.js
Код

k_value = 50
alert("I have load k_value = " + k_value)


Всё отлично работает в Firefox'e... У меня дома FreeBSD, поэтому как работает в IE проверяю уже у клиентов, так как покуда wine ещё не стоит smile

Вообще, подгружать JavaScript-код - метод более универсален, чем обновление IFRAME (ИМХО). Остаётся только вопрос в совместимости.

Мне нужно, что бы мой маленький скромный проект работал в IE, браузерах на двжках Gecko, браузерах konqueror (не знаю, что там за движок, но этот браузер меня доканал), в Опере. На все остальные браузеры мне пока пофиг, не до них мне smile

Это сообщение отредактировал(а) diam - 26.1.2005, 21:12
PM MAIL   Вверх
Sardar
Дата 26.1.2005, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



diam неужели Опера позволяет создать элемент SCRIPT? Я когда то делал, у меня она сие действие молчаливо игнорировала.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
diam
Дата 26.1.2005, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 348
Регистрация: 23.1.2005
Где: Екатеринбург

Репутация: 6
Всего: 16



Sardar, я не знаю, позволяет или нет. В ближайшее время проверю. Это было не утверждение. Это был вопрос. Я просто хочу знать, в каких браузерах сий метод применим.


PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0815 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.