Дата публикации: 20.04.2021

Opera 4 mini и Ajax, JavaScript.Часть 2

8bd108ae

Вышел финал Opera 4 mini и что там интересного, кратко, а потом по делу:

  1. Теперь можно синхронизировать bookmark с компом
  2. В Opera 4 mini появился режим просмотра страницы как на компе
  3. Opera 4 mini динамически изменяет размеры текста страницы так, чтобы не приходилось прокручивать текст по горизонтали.
  4. Появилось контекстное меню
  5. Появился курсор мышки 8).. теперь можно скроллить  в любую сторону
  6. Быстрые клавиши для прокруток и зума
  7. Можно добавить свой поиск к стартовой страничке
  8. нажав * и # можно повернуть изображение
  9. Поддерживаются HTML таблицы, и много всякой фигни для CSS

Теперь о подробностях обработки Страниц Opera 4 mini

  1. Opera 4 mini - это во первых Java программка
  2. Запросы из Opera 4 mini уходят на сервер Opera Mini  который получает контент и конвертит его в OBML формат, сжимает почти в 10 раз и отправляет на ваш телефон.
  3. Соединение между Opera 4 mini и сервером всегда зашифровано, и http и https
  4. Это очень благотворно сказывается на HTML и CSS, а JavaScript ?

Как Opera 4 mini интерпретирует JavaScript?

  1. Opera Mini сервер основан на Opera 9.5 движке рендеринга (забавно), а значит сервер полностью поддерживает на стороне сервера JavaScript (ECMAScript 3)
  2. На стороне клиента все намного печальней, видимо ограничения мобил  играют небольшую роль 8). Поэтому на мобилках Java Script работает очень ограниченно, т.е.  есть ограничения для DOM событий, не поддерживается background scripting, очень ограниченная AJAX поддержка. Но она есть.. я уже писал.

Поддержка серверной стороны

Как я уже писал, Opera Mini сервер работает на основе Opera 9.5 движка, страница перед тем как попасть клиент полностью загружается, все скрипты отрабатываются, включая  body onload. Это в свою очередь означает, что такие вещщи как interval() delay() просто напросто танцуют вальс, потому как их отработка не будет включена для Opera 4 mini.  Знайте как писать странички. То же касается и xmlrpc запросов. Впрочем если они успеют за пару секунд сделать свое дело, то прокатить должно. И как только страничка загружена в Opera 4 mini клиенту, то все скрипты на сервере останавливаются.

Что же у клиента ?

В страничке, которая пришла в браузер Opera 4 mini, большинство событий ограничено, как правило все события отправляются на сервер. По правде говоря в браузере вообще нету JavaScript ! это и понятно, программка в ~100 кило не может парсить несколько языков, заместо этого JavaScript остается на сервере и клиент работает как устроство ввода. для Opera запущеной с сервера Opera mini. И на сервере ни одно setTimeout не будет работать. Следующие события будут работать: onLoad и onUnload  будут работать onSubmit, onChange - сработает только при заполнении формы, т.е. если вы заполняете поля  "Страна" и "Регион" и выбрав страну должны подгрузиться регионы, то они нормально подгрузятся. и onClick

Все другие события - игрнорируются, например:

  1. события мыши и клавиатуры (onMouseOver/-Out/-Down/-Up, onKeyDown/-KeyPress) (некоторые события мыши переадресуются событию onClick)
  2. события фокусировки (onBlur, onFocus)

Все это звучит ограничивающе, однако сами подумайте, что это даже здорево, как я уже писал в прошлой статье http://ajaxed.ru/kak-js-ajax-rabotayut-v-opera-mini-4/  Facebook с его менюшками работает отлично, правда мой waki http://waki2.com  работает ограниченно, плавающий значек не плывет 8), но остальное работает.

Поддержка Ajax

Ajax в общем поддерживается т.е. XMLHttpRequest работает, такие сайты как iGoogle будут работать, с некоторыми ограничениями, тот же gmail работает, только вы не получите автоматически почту, т.к. все setTimeout для проверки закрыты.

Не будут рбаотать IRC клиенты, чаты и часы  всякие, Flash танцует.

Короче говоря страница не изменится пока юзер что-нибудь не кликнет. Вот такой вот ajax и JS на Opera.