Комментарии 17
У меня вопрос. Сразу оговорюсь, я не эксперт в веб программировангии. Как Вам удалось аутентификацию Капчи пройти?
0
Если пользователь не авторизован, то ему выведется капча.
Я написал комментарий в примере:
Я написал комментарий в примере:
Скрытый текст
/* Получаем ссылку на капчу и выводим окно ввода пользователю */
case ST_PRE_RES + 1:
var recaptchaUid = aData.match(/challenge\s*:\s*'(\S+?)'/);
if (recaptchaUid) {
this.loginData[LOGIN_POST] += "&recaptcha_challenge_field=" + encodeURIComponent(recaptchaUid[1]);
this.openCaptchaDialog(this.id, this.user, "https://www.google.com/recaptcha/api/image?c=" + recaptchaUid[1]);
return false;
}
this.onError();
break;
0
Расширение для Хабры давно написано мной больше года назад.
Там не только счётчики, но и полноценный просмотр данных, сортировка данных и возможность комментирования, ставить карму и т.д., работа offline.
Сейчас добиваю (тестирую) новую версию с новыми возможностями + версия для Firefox уже готова, тестирую.
Вот скрин, когда на полный экран, реализована возможность показывать только новые комментарии, а старые скрывать — экономит кучу времени на чтение обновлений. То есть. если например, для статьи в 300 комментариев завтра напишут только 2 или 3 новых комментария в разных местах, то их можно будет мгновенно прочитать, не тратя времени на перемещение по всем 300 комментариям.
Там не только счётчики, но и полноценный просмотр данных, сортировка данных и возможность комментирования, ставить карму и т.д., работа offline.
Сейчас добиваю (тестирую) новую версию с новыми возможностями + версия для Firefox уже готова, тестирую.
Вот скрин, когда на полный экран, реализована возможность показывать только новые комментарии, а старые скрывать — экономит кучу времени на чтение обновлений. То есть. если например, для статьи в 300 комментариев завтра напишут только 2 или 3 новых комментария в разных местах, то их можно будет мгновенно прочитать, не тратя времени на перемещение по всем 300 комментариям.
-2
Цель топика не написать расширение для Хабры.
Основная идея была показать, как написать скрипт для X-Notifier.
Основная идея была показать, как написать скрипт для X-Notifier.
-1
Угу, понял.
Да, x-notifier интересная вещичка.
Просто ваши слова без учёта x-notifier мной были поняты так, что скрипта подобного нет и всё тут :-)
Наверное, было бы понятнее (если не вчитываться), если так:
Он позволяет получать уведомления о новых письмах, сообщениях, да о чем угодно с различных сервисов в одном месте. Для x-notifier написано множество плагинов (Gmail, Яндекс.Почта, Google+, Facebook, Twitter и прочих), но для Хабра до сих пор никто не написал, пора исправить это недоразумение!
Да, x-notifier интересная вещичка.
Просто ваши слова без учёта x-notifier мной были поняты так, что скрипта подобного нет и всё тут :-)
Он позволяет получать уведомления о новых письмах, сообщениях, да о чем угодно с различных сервисов в одном месте. Для него написано множество скриптов (Gmail, Яндекс.Почта, Google+, Facebook, Twitter и прочих). Но скрипта для Хабра, до сих пор никто не написал, пора исправить это недоразумение!
Наверное, было бы понятнее (если не вчитываться), если так:
Он позволяет получать уведомления о новых письмах, сообщениях, да о чем угодно с различных сервисов в одном месте. Для x-notifier написано множество плагинов (Gmail, Яндекс.Почта, Google+, Facebook, Twitter и прочих), но для Хабра до сих пор никто не написал, пора исправить это недоразумение!
0
А где же версия для firefox? Вы сказали год назад, что рабоаете над над ней.
0
Сейчас поддерживаются браузеры Firefox и Chrome. Есть какие-то сложности с написанием скрипта под разные браузеры?
0
Спасибо за инструкцию, благодаря ей написал скрипт для сайтов StackExchange.
Только вот две вещи мне остались непонятны:
1) можно ли как-то задавать параметры по умолчанию (например, чтоб обновление было не раз в 10 минут, а раз в час)?
2) на что влияет возвращается ли true или false в результате работы каждого этапа? Почему в каких-то случаях следующий этап запускается вручную, а в каких-то — нет?
Только вот две вещи мне остались непонятны:
1) можно ли как-то задавать параметры по умолчанию (например, чтоб обновление было не раз в 10 минут, а раз в час)?
2) на что влияет возвращается ли true или false в результате работы каждого этапа? Почему в каких-то случаях следующий этап запускается вручную, а в каких-то — нет?
0
Рад что кому то пригодилась эта писанина))
1) Это конфигурируется в настройках плагина (Options -> Check interval), по умолчанию свое значение, кажется, задавать нельзя.
2) Каждая стадия это инт. Когда мы возвращаем false, мы инкрементируем значение стадии на 1. К примеру тут в стадии
Я рекомендую посмотреть исходники плагина и можете посмотреть то что я понаписал, я думаю станет немного яснее.
Если будут вопросы, то пишите, помогу)
1) Это конфигурируется в настройках плагина (Options -> Check interval), по умолчанию свое значение, кажется, задавать нельзя.
2) Каждая стадия это инт. Когда мы возвращаем false, мы инкрементируем значение стадии на 1. К примеру тут в стадии
ST_PRE_RES + 1
я делаю return false;
и перехожу к следующей стадии ST_PRE_RES + 2
. Если я не хочу переходить к следующей стадии, а сразу перейти к конкретному этапу то я присваиваю значение this.stage = ST_LOGIN;
и возвращаю процесс. return true;
это просто завершение.Я рекомендую посмотреть исходники плагина и можете посмотреть то что я понаписал, я думаю станет немного яснее.
Если будут вопросы, то пишите, помогу)
+1
Спасибо за пояснения! Касательно стадий — не сразу обратил внимание на дефолтные id стадий, оказывается
Свой первый скрипт я уже написал, вроде хорошо работает.
Но вот над вторым скриптом все думаю. Хочу, чтобы X-Notifier уведомлял меня о новых отзывах на Google Play о моем приложении. API у Google Play нет, так что тут лишь парсить страницы выйдет. Но вот умеют ли скрипты X-Notifier хранить какие-то переменные до следующего запуска? Например, сохранить дату последнего отзыва, чтобы при следующей проверке определить появились ли новые отзывы или нет.
ST_PRE
и ST_PRE_RES
как раз на единицу отличаются, потому в ST_PRE
можно возвращать false
.Свой первый скрипт я уже написал, вроде хорошо работает.
Но вот над вторым скриптом все думаю. Хочу, чтобы X-Notifier уведомлял меня о новых отзывах на Google Play о моем приложении. API у Google Play нет, так что тут лишь парсить страницы выйдет. Но вот умеют ли скрипты X-Notifier хранить какие-то переменные до следующего запуска? Например, сохранить дату последнего отзыва, чтобы при следующей проверке определить появились ли новые отзывы или нет.
0
Похоже, cookieManager в последних версиях плагина X-Notifier отсутствует (или отсутствует в Chrome-версии плагина).
Кстати, обнаружил, что некоторые значения по умолчанию можно задавать в скрипте, например,
Над вторым скриптом все бьюсь — научился получать данные об отзывах и извлекать их. Но вот с авторизацией в Google есть проблемы — взял за основу код от Gmail, авторизация срабатывает. Но вот потом надо как-то перейти на страницу с отзывами Google Play, а скрипт страницы GMail'a получает.
Кстати, обнаружил, что некоторые значения по умолчанию можно задавать в скрипте, например,
var defaultInterval=120;
.Над вторым скриптом все бьюсь — научился получать данные об отзывах и извлекать их. Но вот с авторизацией в Google есть проблемы — взял за основу код от Gmail, авторизация срабатывает. Но вот потом надо как-то перейти на страницу с отзывами Google Play, а скрипт страницы GMail'a получает.
0
Решил еще один скрипт написать и снова столкнулся с той же проблей — логика перехода между шагами (this.stage) по-прежнему не ясна. В каких-то случаях return false автоматически добавляет +1 к номеру шага. Но в каких-то шагах нет. Например, если в ST_LOGIN_RES вернуть false, то ST_LOGIN_RES+1 автоматически не запустится. Еще в каких-то случаях, видимо, запуск this.getHtml приводит к увеличению шага на 1 (наверное, когда завершается выполнение получения HTML-страницы). Но в каких-то случаях вообще используется return this.process(aData, aHttp), а в каких-то — return this.baseProcess(aData, aHttp).
В получении данных мне нужно было сделать несколько getHtml запросов (без получения результата) и один getHtml для последующего использования в getCount. Но предсказать что в этом случае попадет как aData в getCount невозможно — судя по всему то, что завершится первым.
В получении данных мне нужно было сделать несколько getHtml запросов (без получения результата) и один getHtml для последующего использования в getCount. Но предсказать что в этом случае попадет как aData в getCount невозможно — судя по всему то, что завершится первым.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
X-Notifier. Пишем оповещалку для трекера и диалогов на Хабарахабр