Pull to refresh
1
0
Марат @m4rr

Пользователь

Send message

Введение в HTML5 History API

Reading time4 min
Views240K
До появления HTML5 единственное, что мы не могли контролировать и управлять (без перезагрузки контента или хаков с location.hash) — это история одного таба. С появлением HTML5 history API все изменилось — теперь мы можем гулять по истории (раньше тоже могли), добавлять элементы в историю, реагировать на переходы по истории и другие полезности. В этой статье мы рассмотрим HTML5 History API и напишем простой пример, иллюстрирующий его возможности.

Основные понятия и синтаксис


History API опирается на один DOM интерфейс — объект History. Каждый таб имеет уникальный объект History, который находится в window.history. History имеет несколько методов, событий и свойств, которыми мы можем управлять из JavaScript. Каждая страница таба(Document object) представляет собой объект коллекции History. Каждый элемент истории состоит из URL и/или объекта состояния (state object), может иметь заголовок (title), Document object, данные форм, позиция скролла и другую информацию, связанную со страницей.

Основные методы объекта History:
  1. window.history.length: Количество записей в текущей сессии истории
  2. window.history.state: Возвращает текущий объект истории
  3. window.history.go(n): Метод, позволяющий гулять по истории. В качестве аргумента передается смещение, относительно текущей позиции. Если передан 0, то будет обновлена текущая страница. Если индекс выходит за пределы истории, то ничего не произойдет.
  4. window.history.back(): Метод, идентичный вызову go(-1)
  5. window.history.forward(): Метод, идентичный вызову go(1)
  6. window.history.pushState(data, title [, url]): Добавляет элемент истории.
  7. window.history.replaceState(data, title [, url]): Обновляет текущий элемент истории
Читать дальше →
Total votes 51: ↑51 and ↓0+51
Comments22

Приватные методы для отладки

Reading time13 min
Views8.5K
Наверняка уже все знают, что у UIView есть полезный метод recursiveDescription.
Вызов которого, вернет строку с описанием всей иерархии вью.

(lldb) po [[self view] recursiveDescription]
<UIView: 0x6a107c0; frame = (0 20; 320 460); autoresize = W+H; layer = […]
   | <UIRoundedRectButton: 0x6a103e0; frame = (124 196; 72 37); opaque = NO; […]
   |    | <UIButtonLabel: 0x6a117b0; frame = (19 8; 34 21); text = 'Test'; […]
   .....

Еще многие знают, что при помощи рантайма, можно получить список переменных/методов/свойств/протоколов/… класса. И обычно для этих целей пишут вспомогательный код. Но оказывается, все уже давно написано сотрудниками Apple. В UIKit.framework реализована категория с именем IvarDescription.

@interface NSObject (IvarDescription)
- (id)_shortMethodDescription;
- (id)_methodDescription;
- (id)__methodDescriptionForClass:(Class)arg1;
- (id)_ivarDescription;
- (id)__ivarDescriptionForClass:(Class)arg1;
@end

Названия метдов говорят за себя. Но давайте посмотрим, что же они возвращают.
Читать дальше →
Total votes 26: ↑20 and ↓6+14
Comments1

Что делать, если «кина не будет» или как обойти блокировку сайта провайдером

Reading time6 min
Views1.5M
Настал мой законный выходной и, выбрав время для просмотра фильма (люблю я старую классику), я занялся его поиском. Зайшел на один из привычных для меня сайтов, и наткнулся на такую вот блокировку данного ресурса.

блокировка

«Вот те раз!» — подумал я. Ни в одном реестре запрещенных сайтов данный ресурс не присутствовал и, с чего билайн его заблокировал — непонятно. Естественно после таких вот «заявочек» в голову полезли страшные мысли: «а что если завтра любимого „кина“ не будет!». Данные мысли тут же подвигли меня начать искать способы борьбы с данной ситуацией, и написать, для тех кому будет интересно, маленький обзор нескольких решений по обходу блокировки сайтов. (под катом скрины)
Читать дальше →
Total votes 120: ↑96 and ↓24+72
Comments87

Робота Wall-E воссоздали в реальности

Reading time1 min
Views121K


Несмотря на обилие разного рода копий мультяшного робота Wall-E в реальной жизни (достаточно посмотреть некоторые товары для детей в магазинах игрушек), по-настоящему схожих моделей практически нет. Но теперь миллионы детишек и просто поклонников творчества Pixar (да и любители робототехники тоже) могут быть довольны. Маленького робота-мусорщика воспроизвели в реальности с максимальной точностью. Правда, робот получился без «души», то есть та версия, которая в мультике работала после замены микросхемы, помните? К сожалению, реальный робот неспособен на нежные чувства.

Читать дальше →
Total votes 102: ↑95 and ↓7+88
Comments45

MobileNotifier: Из Cydia в Apple

Reading time2 min
Views2.5K
Действующие лица:
MobileNotifier — Твик который стал популярным еще до публичной первой беты, и которую многие хотели бы видеть увидят в iOS 5.
Peter Hajas — автор утилиты MobileNotifier для джейлбрейкнутых iPhone,

imageimage

MobileNotifier


Без сомнения один из лучших, полезных и органичных твиков для iPhone, поскольку избавляет нас от назойливых popup-уведомлений, которые прерывают процесс игр, написания сообщений, или любые действия владельца. Ключевой особенностью MobileNotifier является возможность просматривать информацию о смс, пропущенных звонках и событий приложений, которые используют родные Notifiication. А также отвечать на сообщения не покидая активного окна.
Читать дальше →
Total votes 45: ↑36 and ↓9+27
Comments60

Вышел релиз популярного магазина OpenCart v1.5.0 RC1

Reading time2 min
Views5.9K
Один из самых популярных и динамично развивающихся OpenSource проектов для электронной коммерции — OpenCart выпустил новую версию v1.5.0 RC1 для финального тестирования. Я беглым взглядом пробежался по меню настройки и выделил изменения по сравнению с версией 1.4.x.
Читать дальше →
Total votes 41: ↑35 and ↓6+29
Comments46

Дрессируем MacBook для работы с внешним монитором

Reading time3 min
Views155K
Покупая внешний монитор для свего MacBook Pro 13" я не мог предполагать что придется столкнуться с некоторыми неудобствами в ежедневной работе. Моим желанием было получить систему, в которой внешний монитор является основным и единственным, а дисплей ноутбука при этом выключен. Отягчающим обстоятельством был тот факт, что внешней клавиатуры у меня пока нет и для работы хотелось использовать клавиатуру ноутбука. Это значит что закрыть MacBook с целью выключить его дисплей не получится.
Перед покупкой монитора изучением возможностей работы MacBook с внешними дисплеями я пренебрег, потому как был убежден, что дело обстоит ровно так же хорошо как и у других портативных компьютеров. Другими словами, был уверен, что MacBook поддерживает полный набор режимов работы с внешними дисплеями, позволяя привычно переключаться между режимами с помощью комбинации клавиш (Fn+F5 или подобной). Но не тут-то было.
Читать дальше →
Total votes 47: ↑31 and ↓16+15
Comments130

Управление видеокартами в новом MacBook Pro — Миниобзор программы gfxCardStatus

Reading time1 min
Views35K
Заполучив в полное владение новый MacBook Pro с функцией переключения видеокарт «на лету» я заметил, что время работы от аккумулятора примерно в два раза меньше заявленного производителем.

Виной оказалась не до конца отработанная технология автопереключения видеокарт в совокупности с запущенным «Skype» из-за которого система не хотела переключаться на интегрированное видео от intel.

Тут мне и вспомнилась программка для управления видеокартами в новой линейке макбуков — под названием "gfxCardStatus"
Читать дальше →
Total votes 37: ↑33 and ↓4+29
Comments28

Краткое введение в SIM-карты

Reading time6 min
Views226K
Когда на вопрос «кем вы работаете?» я отвечал «разработчиком ПО для SIM-карт», даже технически подкованные люди частенько удивлялись. Многие думают, что SIM-карта это «что-то типа флешки».

В этой статье я постараюсь кратко рассказать что такое SIM-карта (и смарт-карты в общем), зачем она нужна и что у нее внутри.

На самом деле SIM-карта — это частный случай контактной смарт-карты с микропроцессором. По сути, представляет из себя достаточно защищенный микрокомпьютер с CPU, ROM (опционально), RAM и NVRAM (которая выступает в качестве аналога жесткого диска в PC), с аппаратными генераторами случайных чисел и аппаратной реализацией крипто-алгоритмов.

В некотором приближении архитектуру микропроцессорной смарт-карты можно представить так:
Архитектура смарт-карты

Читать дальше →
Total votes 474: ↑470 and ↓4+466
Comments180

Офис компании Boomburum

Reading time19 min
Views410K
image

Осторожно, трафик! Но можно хотя бы посмотреть картинки )

   Идея создать дома свой «рабочий кабинет» у меня зрела давно – как-то сам дошел до осознания его необходимости, хотя немалый вклад в начинания сделал этот давний пост на Хабре. У меня было своё рабочее место – большой удобный стол, где помещалось практически всё и даже больше… но, по сути, он был проходным двором – все время кто-то ходил, был рядом, отвлекал… такое очень часто мешает сосредоточиться и начать работать. Иногда, бывает, сидишь весь вечер за компом и понимаешь, что абсолютно ничего не сделал, хотя родным заявил «так, мне надо поработать».
Читать дальше →
Total votes 738: ↑625 and ↓113+512
Comments438

Смысл НДС

Reading time2 min
Views134K
Думаю многим приходится сталкиваться при общении с заказчиками с вопросом — «А вы работаете с НДС или без НДС?». Постараюсь кратко объяснить в чем суть этого вопроса и в чем суть самого налога на добавленную стоимость. Понимание этого даст вам преимущество перед вашими конкурентами, которые отвечают не задумываясь.
Читать дальше →
Total votes 147: ↑119 and ↓28+91
Comments174

Что делать, если вам пришла поврежденная посылка?

Reading time3 min
Views29K
eBay
Пока готовится подробная статья про покупку на зарубежных аукционах и в интернет-магазинах, хочу рассказать вам о том, что делать в случае, если вы получили не то, что должны были.
После починки Epson Artisan 800 (см. топик о приключениях с ним), обзор которого уже числится в общем списке материалов к публикации, выяснилось, что СНПЧ для брата-близнеца Epson TX800FW не подходят к нему. Кто-то в комментах поглумился, сказав, что я попал на расходники, но на деле же все куда проще. Принтер покупался для дома, печать не горит, на первое время хватает ресурса родных картриджей. В качестве решения проблемы заказал СНПЧ на том же eBay.
Рассказываю дальше
Total votes 99: ↑91 and ↓8+83
Comments136

Как подобрать цвет для оформления своей работы

Reading time1 min
Views3.2K
Эдвард Тафти в Envisioning Information упоминает об одном способе выбора цветовой палитры для оформления. Он говорит, что очень хорошо использовать цвета окружающего нас мира. Человеку должны быть приятны те сочетания цветов, которые окружают его в природной приятной обстановке в солнечный день.

Решив попрактиковаться, я взял несколько своих мыльничных фотографий, потыкал в них пипеткой и покрасил получившимися цветами маленький бессмыссленный шаблон.

Вот погожий зимний пейзаж



Под катом еще фотографии, а если вам интересен Тафти, у меня на сайте есть ссылки на его книги и примеры из них.

Читать дальше →
Total votes 86: ↑81 and ↓5+76
Comments43

Логика английских времен

Reading time6 min
Views71K
Изучавшие или изучающие английский язык знают, каким страшным может казаться множество английских временных форм глаголов.
Всего в английском 12 временных форм. А в русском-то, на первый взгляд, всего 3, и как их связать с английскими, для новичка может быть совершенно не понятно.
Читать дальше →
Total votes 196: ↑173 and ↓23+150
Comments202

Вспомогательная схема с подсказками дизайнеру приложений Windows Phone 7

Reading time1 min
Views905
Один из сотрудников компании Nordkapp опубликовал в блоге компании вспомогательную схему с подсказками и полезной информацией для дизайнеров приложений Windows Phone 7.

image

image 

Плакат выполнен в формате A3 и доступен с сайта компании в трех видах:Анонс схемы с некоторыми подробностями можно прочитать по этой ссылке.
Total votes 58: ↑38 and ↓20+18
Comments10

Спать мало, но правильно?

Reading time7 min
Views898K
Навеяно этим постом от юзера case. Пост не новый, и на главную он не попал.
Но я вот наткнулся на него сегодня и решил написать кое-что о сне. Уверен, что это будет полезно многим хабравчанам, да и случайным читателям тоже.
Читать дальше →
Total votes 713: ↑670 and ↓43+627
Comments420

Сколько науки в фильме Аватар?

Reading time5 min
Views6.5K
Вчера посмотрел Аватар 3D. Честно говоря, фильм очень понравился, в связи с этим публикую перевод статьи, повествующей о том, насколько достоверен с научной точки зрения мир, показанный там.

Внимание, в статье множество спойлеров!
Читать дальше →
Total votes 193: ↑135 and ↓58+77
Comments554

Как достичь профессионального вида с помощью цвета

Reading time9 min
Views11K
image

Что заставляет дизайн выглядеть скоординированным, спланированным и профессиональным? Ответ: 'цвет'.

Далеко не каждый проект нуждается в использовании мягкого корпоративного синего цвета для того, чтобы выглядеть профессионально. Планирование цвета означает создание структуры, которая бы описывала, какие использовать цвета и как их использовать. Цвет — самый неподдающийся элемент дизайна. «Хороший» цвет жестко связан с такими неуловимыми вещами как личный вкус и интуиция, и, в то же время, с технической позиции с калибровкой монитора и контрастом.

Но цвет просто необходим для контента. Если Вы уделите вебсайту достаточно времени для его совершенства, то читатели вероятно уделят достаточно времени его просмотру. Хороший выбор цвета сделает это возможным.

В этой статье мы будем делать обзор некоторых методик, чтобы достигнуть красивого сочетания цвета для Ваших проектов в сети.
Читать дальше →
Total votes 194: ↑167 and ↓27+140
Comments38

Экспорт из *.AI в *.CDR

Reading time2 min
Views151K
 AI to CDR
На днях пришлось решать очень интересную и актуальную задачу по конвертированию проекта из Adobe Illustrator в CorelDraw. Под катом небольшое руководство о том как этого я этого добился. Надеюсь эти небольшие приемы помогут кому-нибудь из хабра-сообщества.
Читать дальше →
Total votes 36: ↑32 and ↓4+28
Comments87
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity