Search
Write a publication
Pull to refresh
94
0
Ерошенков Сергей @TecHMeaT

Front End Developer

Send message

Управляем Flash-объектом на Javascript

Reading time3 min
Views12K
Управляем Flash-объектом на JavaScript

Возможности JavaScript в 95% случаев позволяют решить любую задачу для Web 2.0. Но иногда хочется чуточку больше, чуточку красивее, возможно, чуточку быстрее. В этой статье на примерах я хочу показать, как восполнить этих 5% недостающего функционала средствами Flash.
Эта статья будет полезна разработчикам, которые пишут в основном на JavaScript и имеют минимальные знания ActionScript 3.

Для вдохновения


Вдохновил меня на написание этой статьи пример из пакета FancyUpload, реализующий одновременную загрузку нескольких файлов на сервер с симпатичным прогресс-баром в стиле gmail (обратите внимание: можно сразу выбирать несколько файлов).

Этот пример интересен тем, что дизайн и управление контролируется средствами CSS и JavaScript. JavaScript при необходимости использует необходимый функционал из Flash.

Если Вам понравилось, идем дальше: мы рассмотрим как это работает на более простом примере.
Читать дальше →

Веб-камеры на Картах Google

Reading time1 min
Views23K
Максим Азаров, менеджер продуктов

На Картах Google под кнопкой «Ещё» появился новый слой, который называется «Веб-камеры».


При включении этого слоя на просматриваемом участке карты отображаются доступные веб-камеры с живой видеотрансляцией. Нажав на иконку веб-камеры, можно увидеть текущую картинку с нее и ссылку на веб-сайт, где камера размещена. Камеры есть во многих крупных городах России: Москве, Санкт-Петербурге, Екатеринбурге и других.


На сегодняшний день большинство веб-камер в России сосредоточено на сайте http://ru.webcams.travel. Если у вас есть веб-камера, которая ещё не отображается на Картах Google, обязательно разместите ее на webcams.travel, и она будет проиндексирована.

Как сделать favicon в png

Reading time1 min
Views121K
Знаете, фавикончики в ico это как-то прошлый век =) Давайте будем модными, современными и все такое. Короче, берем иконку в png (да-да, с прозрачностью и всеми делами), сохраняем в размере 16×16, на сайте (в блоке <head>, ага) подключаем так:

<link rel="icon" type="image/png" href="favicon.png" />

Особенно под впечатлением владельцы айфонов и точей, т.к. для них мы делаем красивую иконюшку размером 57×57 (можно кстати и больше, но это стандартный размер иконки на ланч-скрине), подключая ее так:

<link rel="apple-touch-icon" href="apple-touch-favicon.png"/>

Над записью витает дух уже почти сгнившего трупа IE6, который вообще не знает о чем это все, ну да и фиг с ним =) Все, изыди.

UPD: Спасибо хабраюзеру NickyX3 за интересное уточнение:
Автор забыл указать, что иконда для springboard тачей и яблофонов будет в таком варианте закруглена по углам и на нее будет наложен блик автоматически самоим девайсом. Для избежания этого (совсем красивая кастом иконка) вместо apple-touch-icon следует написать apple-touch-icon-precomposed.

10 рекомендаций по html-верстке электронных писем

Reading time4 min
Views107K
Рекомендация первая: забудьте про блочную верстку. Весь лэйаут должен быть на таблицах. При этом, без крайней необходимости — их тоже лучше не использовать. Также следует выкинуть из головы представления о семантике, сокращенных css-правилах, валидации, плавающих блоках — и прочее. Самый распространенный в РФ почтовый сервис на данный момент (mail.ru) вообще не понимает стили (css). Любые тэги/атрибуты style заменяются на xstyle и не работают. Вообще все.

Так что, фактически, при вёрстке html для почтовой рассылки надо мысленно переместиться в 90-ые годы прошлого века и смело использовать все распространенные приёмы того времени.

Для тех, кто с ними не знаком (как я был) — напомню:
Читать дальше →

Маленькая хитрость или что-то типа background-repeat в IE6

Reading time1 min
Views960
Проблема png в ie6 и background-repeat известна, но не всегда всё так уж очень плохо. Например, имеется полупрозрачный png размером 1х100, и нужно растянуть его по горизонтали (сделать полосочку). Кто-то скажет, что это невозможно, но не спешите, напишем фильтр для ИЕ6 как-то так:

filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='css/img/menu-gradient-main.png', sizingMethod='scale');

Запускаем и удивляемся… Работает! Вся фишка в значении «scale» свойства sizingMethod, оно делает как раз то что нам нужно, т.е растягивает png по ширине контейнера.

Точно также можно растянуть png и по высоте. В итоге мы, конечно, получаем не полноценный background-repeat, но хоть что-то…

Загрузка по требованию и jQuery

Reading time1 min
Views3.1K
Несмотря на то, что необходимо минимизировать количество http-запросов, иногда (или часто, в зависимости от задачи) бывает полезно загружать часть «тяжелого» функционала только тогда, когда он действительно понадобится на странице.
У jQuery есть механизм, позволяющий осуществить это — $.getScript, однако, он обладает рядом недостатков:
  • не запоминаются уже загруженные или загружаемые в данный момент скрипты, при повторном запросе опять идет их загрузка.
  • нельзя указать сразу несколько скриптов
  • выключен кэш (к каждому урлу насильно приписываются параметры типа ?_=1242843920520). Зачем это было так жестко сделано, для меня осталось загадкой.
  • у коллбэка нельзя задать контекст (это вообще болезнь коллбэков jQuery).
Пришлось написать небольшой плагин, лишенный вышеперечисленных недостатков:

$.requireScript(url, callback, [context], [options])
Где:
url — урл загружаемого скрипта (может быть массивом урлов)
callback — коллбэк-функция, вызываемая после загрузки скриптов
context — контекст, в котором вызывается коллбэк-функция (опционален)
options — параметры; в данный момент поддерживается только один параметр — parallel, указывающий, нужно ли использовать параллельную загрузку для нескольких скриптов (по умолчанию — true)


Может кому-то пригодится. Скачать и попробовать можно с code.google.

UPDATE: согласно замечаниям в комментах, $.loadScript переименован в $.requireScript, и теперь можно указать несколько урлов сразу.

Многоуровневое дерево с маркерами, сохраняющее состояние (HTML, CSS, jQuery, Cookies)

Reading time6 min
Views19K
Продолжается развитие темы о многоуровневом дереве с маркерами. Многоуровневое дерево с сохранением состояния узлов
Теперь дерево выросло и окрепло, стало взрослее и помнит выбранный узел и состояние кажого узла в отдельности.
Страницу можно перезагружать, а дерево все равно будет помнить все что вы открыли и выбрали!

Читать дальше →

Как сделать Интернет одним из основных Каналов Продаж?

Reading time5 min
Views2.5K
Это моя первая статья на хабре, если я её разместил не в тот блог, извините, более подходящего я не нашёл.

Эта статья была написана мной летом 2008 года, сделанная специально для руководителей и маркетологов, сейчас она по прежнему актуальна. Размещая её здесь, мне хочется узнать, что по этому вопросу думаете Вы, те кто стоит на стороне разработчиков интернет-проектов. Публикую статью полностью:

Тем кто считает, что в его компании Интернет как “канал продаж” используется на все 100%, читать эту статью необязательно.

На сегодняшний день, основная проблема коммерческих организаций в использование Интернета для бизнеса – низкий приоритет важности этого направления внутри компаний. Отсюда не понимание в чем эффективность, как её оценивать, что нужно делать. Следствием этого не продуктивная работа с сайтом, с заявками, запросами и обращениями посетителей с сайта компании.

Почему так происходит?
Читать дальше →

Плагин загрузки картинок для TinyMCE

Reading time1 min
Views9.5K
Несколько дней назад я писал о выходе новой версии своего плагина для TinyMCE, многие уже успели его потестировать, за что им огромное спасибо, все критические баги были исправлены.
Читать дальше →

Используем 2+ провайдера (вторая часть)

Reading time5 min
Views27K
Продолжим настройку нашего шлюза, про который я говорил в предыдущей статье. Напомню, там мы настроили правила маршрутизации, теперь нам надо заняться iptables. Сейчас мы настроим сеть состоящую из шлюза и сервера. На шлюзе будет работать SSH и DNS, а сервер у нас будет виндовый на нем у нас RDP и SMTP. Сеть будет настроена таким образом, что через любой из внешних айпишников мы сможем подключаться к любому из серверов, а SMTP сервер будет выходить наружу через основного провайдера.
Читать дальше...

Определение города и региона России по IP

Reading time2 min
Views7.9K
И так, 13 Марта, 2009 16:07 появилась следующая новость на данном ресурсе "Долгожданный XML-сервис!!!".

Это событие необычайно меня обрадовало, ещё бы такой сервис на таком ресурсе и сразу ручки шаловливые зачесались!

Буквально через 10 минут был готов простейший код запроса ip, в ходе обсуждений он получился следующим (сделано на curl):

  function getip($GetRIP)
  {
    $data = "<ipquery><fields><all/></fields><ip-list><ip>".$GetRIP."</ip></ip-list></ipquery>";
    
    $ch = curl_init();
    
    curl_setopt($ch, CURLOPT_URL, "http://194.85.91.253:8090/geo/geo.html");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    
    $xml = curl_exec($ch);
    curl_close($ch);
    
    //echo $xml;
    
    $messge="!<message>(.*?)</message>!si";
    
    preg_match($messge, $xml, $main_ar["message"]);
    
    if($main_ar["message"][1]!="Not found")
    {
      $district="!<district>(.*?)</district>!si";
      $region="!<region>(.*?)</region>!si";
      $town="!<city>(.*?)</city>!si";
      
      preg_match($district, $xml, $main_ar["district"]);
      preg_match($region, $xml, $main_ar["region"]);
      preg_match($town, $xml, $main_ar["city"]);
      
      $ArMain=array("FIND"=>1,"DISTRICT"=>$main_ar["district"][1], "REGION"=>$main_ar["region"][1],"TOWN"=>$main_ar["city"][1]);
      return $ArMain;    
    }
    else return array("FIND"=>0);    
  }


* This source code was highlighted with Source Code Highlighter.


Читать дальше →
12 ...
58

Information

Rating
Does not participate
Location
Сербия
Date of birth
Registered
Activity