Monday, September 26, 2016

User scripts после browser add-on

После последних событий в мире браузерных аддонов (кратко: FF осложнил установку плагинов без подписи и вообще планирует сменить API для плагинов и Crossrider закрывает поддержку платформы плагинов) стоял вопрос - что же делать дальше? как быть, если нужен небольшой и относительно простой плагин решающий частные вопросы, работающий во всех браузерах, ну или хотя бы не требующий специальных версий браузера.

Ответ есть - user scripts.

И если в Chrome их поддержка уже встроена в браузер, то для ФФ требуется установка плагина - GreaseMonkey или подобного (форка).

Установил. Но как с доками, как начать - туго. Крупицы информации нашлись в рунете.  И...
И сделал то, что нужно довольно быстро!

Вот код

if(document.location.href.indexOf("opt.fm37.ru")){
  var prices = document.querySelectorAll("div.bx_price");
    for (var i = 0; i < prices.length; i++) {
      var parts = prices[i].innerHTML.split("       var price = parts[0] * 2;
      prices[i].innerHTML = "" + price + "";
  }
 
}

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

Кроме того, через кнопку Greasemonkey на панели задач можно быстро выключить скрипт, выключив добавленный фукнционал, ну и включить обратно.

Рулез!

Crossrider закрывает направление браузерных add-on'ов

Только мне понадобилось быстренько соорудить новый аддон для ФФ (несмотря на пакости, которые ФФ творит в отношении неподписанных аддонов), как приходит сообщение на почту, что Crossider закрывает это направление.

Хотел посмотреть, как дела обстоят у Kangoo Framework, с которого я перешел на Crossider в своё время. Но и тут, как показали комментарии, всё затихло...

Вот такие дела...

VK vs OK

Чем больше я знакомлюсь с ВКонтакте, в том числе в плане работы с сайтом/API, тем меньше мне нравится OK, в том числе и по контенту.

А ведь раньше было наоборот (только по контенту).

Сразу видно, что разные команды делали эти соцсети.

Javascript - регулярные выражения против ручного парсинга и DOM

Я уже упоминал, о том как не просто парсить контент "сверстанный в Word". А жизнь всё подкидывает и подкидывает новые варианты "верстки", который ломает запрограммированный парсинг на раз.

В поисках решений пришел к выводу, что проще экспортировать документ в text, через соответствующий метод. Далее, используя регулярные выражения найти разделитель (дату) и дальше уже парсить остатки текста исходя из имеющихся данных.

На данный момент это оказалось самое работающее решение.

Wednesday, September 21, 2016

Telerik NativeScript vs HTML5/JavaScript

Почитал про NativeScript и решил посмотреть их тестовое (example) приложение на устройстве (HomTom Android 5.1). Как говорится - в деле.

И что же я увидел?

Задержка при загрузке приложения. Притормаживания при открытии новых страниц (или как у них это называется), притормаживания при нажатии на некоторые элементы интерфейса. Причём некоторые элементы, совсем ненативно выглядещие, скорее стилизованные под нативные.

У меня тестовая версия приложения (без оптимизаций и адоптаций) на Framework7/Cordova быстрее и нативней.

Sunday, September 11, 2016

Получить посты из паблика ВКонтакте - миссия не_не_выполнима?

Надо то - получить записи и комменты к ним из публичной группы ВКонтакте.
В API есть методы board.getTopics и board.getComments, но работают они как то странно. Даже в примерах документации результат различный с разным пабликами, причем возвращаются не ошибки, а пустой объект сообщений.

Вопрос традиционный - что я не делаю не так?

Или так и остановиться на парсинге html страниц (результатов вызова виджета)?

UPD Оказывается я неправильно понял структуру ВК. В пабликах также сообщения размещаются на стене и надо использовать соответствующие методы (wall.get). Спасибо за разъяснение Владиславу в группе про ВКонтакте API

Friday, September 09, 2016

Такси, где нет и не будет Uber, Gettaxi, Яндекс.Такси

То бишь в маленьких населенных пунктах, типа Неи, Костромской области, в которые есть частники таксисты, но которые неинтересны (или пока неинтересны)

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

Итак. Мощная система вызова и трекинга такси через мобильные устройства вроде бы ни к чему. Потянуть и содержать - непросто, окупится - неизвестно.

Поэтому предлагается упрощенная система заказа такси, возможно интегрированная в другое приложение. В этой системе есть список таксомоторов (водителей, имён,кличек, номеров телефонов). Список, кроме контактных данных может содержать описание машины (фото), тип предоставляемой услуги (город, ближгород, межгород, количество пассажиров, детские кресла и т.п.), стоимость услуги (поездка от 100 руб, 1 км - 10 руб, ожидание 5 минут - 10 рублей и т.п.). А главное текущий статус таксомотора - на линии (зеленая точка), занят (желтая или красная), не работает (серая).

То бишь потенциальный "ехатель" сразу видит свободные машины, возможные варианты (хочу мерс! и в ближгород) и.. рейтинг водителей на основе отзывов других "ехателей" (слабое звено в плане пакостей конкурентов, но почему нет?). Также может отображаться текущее положение таксомотора вплоть до трекинга движения.

Это был интерфейс для клиента.

Интерфейс для исполнителя - большие кнопки. Управление статусом (еду, свободен, не работаю) (возможно это также слабое место - ибо водители будут стараться быть всегда свободными, даже выполняя текущий заказ, но стопудово можно что-нибудь придумать ). Навигация - под вопросом, для небольших населенных пунктов обычно не требуется, только для начинающих водителей. Но вот отображение положения таксомотора нужно, хотя бы для сортировки - кто ближе к заказчику.

Пока всё!

Wednesday, September 07, 2016

Миссия практически не выполнима

А надо то всего лишь распарсить страничку сверстанную типа в Ворде или чем то подобном... Была надежда, что есть RSS и в исходнике ссылка на ленту встречается, но она не работает.. говорит, что нет у меня доступа к ней.