Saturday, April 07, 2012

Неожиданка с #TwiTango

TwiTango это аддон к браузерам на базе KangoExtensions

Это тестовый проект для знакомства с технологиями. Работает он так – выделяете на странице текст, появляется иконка, если по ней жамкаете, то октрывается окошко твиттера с выделеным текстом и урлом страницы, на которой этот текст выделен. Далее отправляем в Твиттер. Можно еще подредактировать перед.

Всё просто и довольно мило. И работает. А работает оно таким образом. Когда страница загрузится. Аддон добавляет новый элемент на страницу, который появляется, когда пользователь сделал выделение. Всё. Фич конечно можно докрутить не мало. Но это на будущее оставил.

А неожиданка случилась с почтой. Веб почтой. Веб почтой Гугл. А может и не только гугл. Скорее всего и не только гугл.

Отправляя в очередной раз почту вижу внизу документа желтую надпись TwiTango. Упс. Делаю новое письмо, упс, кнопочка ТвиТанго и тут появляется, правда деформированная. Размышляю и понимаю, что к странице в режиме редактирования (contentEditable) мой объект тоже добавляется и кроме того сохраняется, при очередном сохранении, как будто был добавлен пользователем.

Не айс.Конечно приятно, что в режиме редактирования можно пользоваться ТвиТанго для отсыла вводимого текста в твиттер. И даже приятно, что в письмах автоматически добавляется строчка про ТвиТанго. Но думаю, что не всем это понравится ;)

Посему надо модифицировать скриптос и запретить добавление ТвиТанго на страницы в режиме contentEditable.

Это план действий. А как оно в реальности будет – время покажет.

UPD: contentEditable используется для элемента, что впрочем не мешает быть этому элементу всей странице. А вся страница в режиме редактирования document.designMode=”on”

UPD2: можно, а может нужно изменить логику работы. Кнопку добавлять только по факту выделения контента и убирать после снятия выделения, а не показывать/прятать добавленный после загрузки элемент.

Thursday, April 05, 2012

Как я боролся с блокировкой Popup

Помогла мне вот эта фраза

Про Оперу не скажу, но про Gecko знаю точно — Gecko не трогает popup'ы, которые открываются обработчиками некоторых событий: change click dblclick mouseup reset submit (это настройка dom.popup_allowed_events). При этом различается между событиями, созданными пользователем, и событиями, созданными програмно — последние не признаются для "легализации" popup'а.

http://xpoint.ru/forums/programming/javascript/misc/thread/37968.xhtml

Молодца курилка. Жив еще. А когда и я там зажигал в разделах Perl и Javascript.

KangoExtensions и Chromium

Так сложилось, что на виртуальной машине с Виндовс 8, где я изучаю Канго не стоит браузер Хром от корпорации Бобра, зато у меня есть довольно свежий Хромиум в загашнике, который используется успешно на другой девелоперской виртуальной машине.

И тестировал получившееся произведение на Опере и ФайрФоксе. Но пришло то время, когда надо посмотреть результат под самым популярным браузером. Записал в каталог Хромиум (это его плюс имхо, что можно записать в любой каталог). Запускаю build.cmd и получаю ожидаемую запись, что ни хром, ни хромиум не найдены, а значит фигас вам с двас, а не расширение.

Полез в инет, смотреть как решается данный вопрос. Нашел как проверить незапакованное расширение. Работает. Как в ФФ, но не как в Опере. Но это доделается потом (чтобы работало как Опере).

А как сделать автосборку? Полез в исходники Канго. Нашел где выводится еррор сообщение. Нашел где определяется путь к Хрому/хромиуму.

Ага! Ищется в _SHGetFolderPath(0, CSIDL_LOCAL_APPDATA, 0, 0, path_buf)

Т.е. решение простое – переписать папку Хромиума в C:\Users\xxx\AppData\Local\Chromium\Application

Переписал. Запустил. Работает сборка.

PS Прошла инфа о выходе Оперы для мобильных устройств с поддержкой расширений. Вообщем то тестирование под Оперой именно этим и побуждается.

Monday, April 02, 2012

Мышко хак A4tech

Хоть я и любитель менять клавиатуры (правда моё полудеревенское проживание сильно сдерживает это увлечение, тут привозят всё немножко не то, что мне нравится, а покупть без “щупания” в живую не айс), но по жизни приходится менять и мышки, ибо с ними что-то происходит такое, что пользоваться ими нет ни какой возможности.

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

И вот недавно, моя опять таки недавно купленная мышь (за 100 или 120 рублей) со стершевшейся надписью A4Tech начала заедать при клике по правой клавише. Тут надо отметить, что мышу я пользую левой рукой, хотя закоренелый правша.  Но правая рука начала постанывать после не продолжительного пользования компьютером, что смена рук принесла желанное облегчение без отрыва от производства. Задолбало это заедание, но в магазинах ничего достойного на замену не нашлось. Кстати, дорогие мышки стираются не хуже, чем дешевые. Да и кошкам (а их у нас 3) пофиг, что скидывать на пол.

И вот решил я пофиксить заедание. Разобрал мышь. Посмотрел, явных потертостей не обнаружил. В этом то и засада обычно бывает – износа как бы нет, а он есть. И в качестве первой ремонтной меры подложил листочек бумажки между кнопкой и микриком. И всё стало, как раньше – легко и без заеданий нажиматься и кликаться.

PS Сей пост позволил мне отвлечься от работы над новым прожектом в виде аддона для браузеров и твиттера ;)