Сообщество
Логин
Пароль
Забыли пароль?     Регистрация
Ещё проектики
Рабочее время
Минималистичный счётчик рабочего времени
Общение / Веб версия / Внесение расходов через PDA версию

Внесение расходов через pda версию

HiOr
28 ноября 2008 05:40
Активно пользуюсь PDA версией с телефона через бразуер Opera Mini. При этом как при выборе кошелька, так и выборе статьи расхода браузер полностью перезагружает страницу. Т.к. скорость подключения на телефоне оставляет желать лучшего, становится неудобно. Это как-то можно исправить? Или проблема в самом браузере?
HiOr
28 ноября 2008 11:50
нашел вот это обсуждение http://www.drebedengi.ru/?module=forumMessageList&topic_id=963

Может быть, можно добавить опцию "Используется Opera Mini"? Тогда на PDA версии не выводится галка для работы с долгами и полностью "тушится" весь javascript. Долгами пользуешься раз в год, а расходы вбивать приходится ежедневно.
HiOr
28 ноября 2008 11:53
И еще, мне кажется, есть некоторое количество мобильных браузеров, которые вообще с javascript работать не умеют. Это поможет решить проблемы и для них.
HiOr
28 ноября 2008 12:07
И еще одна идея есть. Никаких опций не нужно. По http://www.drebedengi.ru/pda/ выводить с долгами и скриптом, а по http://www.drebedengi.ru/m/ выводить без долгов и скрипта соответственно
Admin
 
28 ноября 2008 12:14
Да, проблема в самом браузере.
Скоро у них новая версия выйдет, возможно этот баг исправят.
HiOr
28 ноября 2008 12:19
Так это не баг, выяснили же, это проблема с тем, что весь js обрабатывается на сервере
Admin
 
28 ноября 2008 13:49
JS не может обрабатываться на сервере, это клиентский js.
HiOr
28 ноября 2008 14:01
Как не может? Вся opera mini так работает.

After the scripts have finished or the timeout is reached, all scripts are stopped and the page is compressed and sent to the mobile device. Once on the device, only a handful of events are allowed to trigger scripts:

onUnload: Fires when the user navigates away from a page
onSubmit: Fires when a form is submitted
onChange: Fires when the value of an input control is changed
onClick: Fires when an element is clicked

When one of these events is triggered, Opera Mini <b>sends a request to the proxy server to process the event.</b> The proxy server then executes the JavaScript and returns the revised page to the mobile device.

Отсюда:http://en.wikipedia.org/wiki/Opera_Mini
Admin
 
28 ноября 2008 15:23
Похоже клиентский js в OperaMini действительно исполняется на сервере. Но не на нашем сервере, а на прокси-сервере самой компании Opera Software.

Они видимо из соображений безопасности это делают. Не знаю, сознательно отправлять страницу на какой-то свой прокси-сервер, там обрабатывать и высылать клиенту обратно, при любом событии onChange() - это как-то странно. Меня такой подход как минимум сильно удивил. До этого я чистосердечно верил, что это баг :). Что ж, значит таков подход разработчиков Opera и с этим ничего не поделаешь.

Увы, но без каких-то базовых вещей на js, сейчас никакой нормальный сервис немыслим, поэтому делать костыль конкретно для галки с долгами не имеет смысла, т.к. в будущем будет добавляться другая функциональность на js, которая в Opera Mini видимо всегда будет перегружать страницу..

В любом случае, проблема теперь стала более чем понятна, за предложения и идеи спасибо, будем думать, может как-то и сможем вылечить эту беду.
HiOr
3 декабря 2008 11:38
А можно вот это событие убрать?

<select tabindex="4" id="w_from" name="w_from" style="width:125px;" onchange="my_focus('w');">

Тогда не будет перегружаться хотя бы при выборе источника платежа. Фокус устанавливать, вроде как, не очень критично.
Admin
 
3 декабря 2008 12:15
Убрали для Opera Mini.
HiOr
3 декабря 2008 12:19
Спасибо!
Евгений
4 декабря 2008 17:05
ничего в этом удивительного нет
opera mini нацелена на самые простые телефоны
и этот браузер, на самом деле браузером не является - невозможно в узкие рамки j2me впихнуть такое сложное приложение
opera mini - это тонкий клиент, который умеет только показывать отформатированный текст. сам браузер находится на серверах opera
Чтобы отвечать на сообщения - зарегистрируйтесь и войдите в личный кабинет.