Всем доброго времени суток, хочу поделиться своими небольшими творением

    

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

    

    Начался мыслительный процесс – «как бы упростить этот нелёгкий труд по поиску непрочитанных глав», ведь я зашёл сюда чтобы отдохнуть/расслабиться. Тут зародилась идея - написать простенький скрипт, который бы внедрялся в страницу и сопоставлял: поставленную мною отметку(закладку) и последнюю доступную главу. Дело тронулось с места, языком программирования стал «JavaScript (JS)», в простонародье «яваскрипт» или «джаваскрипт», тут кому как удобно называть. Представление о нём немного было, да и языки программирования схожи.


    Первым подводным камнем стало то, что отправляемые запросы блокировались, т. к. страница закладок и страница самой манги находились на разных доменах (прим. grouple.co, readmanga.me), такова была политика браузера, это конечно можно было отключить, но повлияло бы на безопасность.

 

    Решением было написать расширение для браузера, в котором разрешены кросс-доменные запросы. Тут начался процесс написания кода, этот этап думаю описывать не нужно – для многих он сложный, да и неинтересный. Сразу говорю – я не профи, и конечно, не обошлось без поддержки большого брата «Google», который при правильной постановке вопроса – выдавал практически 100% интересующий меня ответ.


    Расширение расширялось (забавная тавтология) и обрастало всё новым и новым функционалом, ведь получив одно – хотелось и другое. Так появились следующие настройки:


1.Автозапуск – автоматически запускает сканирование при открытии вкладки закладок, с параметрами из блоков «Категория» и «Действие».

2.Горячие клавиши (ГК) – тут всё и так должно быть ясно, настраиваются в «Настройки» -> «Расширения» (или «Дополнительные инструменты» -> «Расширения») -> слева вверху «» -> «Быстрые клавиши» -> далее нужно найти данное расширение и настроить ГК под себя.

3. Интервал – один из самых важных пунктов настроек, это задержка между полученным и новым запросом. Не стоит занижать его иначе сканирование может и пройдёт успешно, но вот прочитать мангу вы не сможете ещё некоторое время из-за того, что превысите лимит запросов к сайту. Если вы никуда не спешите, можно повысить этот параметр, это снизит нагрузку на сайт. Значение, установленное по умолчанию, было оптимальным для меня.

4.Актуальность данных – немало важный параметр, отвечающий за получение свежей информации, например: если вы просканировали свои закладки использовав «Автозапуск», прочитав несколько манг и поставив на них закладку, то данные на странице просканированных закладок будет неактуальными и при следующем сканировании с помощью «Элементов управления» возникнет рассинхрон. Имеется 3 режима:

4.1. «0» - актуальность данных не проверяется, вся информация берётся со страницы закладок.

Плюсы: минимальное количество запросов = (количество манги на вашей странице закладок или выбранных вами элементов). Минусы: возможная неактуальность данных при повторном сканировании.

4.2. «1» - самый оптимальный вариант, перед сканированием делает запрос для получения актуальных данных, количество запросов: 1 + кол. манги на странице закладок

4.3. «2» - так же сверяет данные с актуальными. Плюсы: актуальность данных. Минусы: подходит только к манге находящейся в категории «В процессе», а также кол. запросов = удвоенному кол. манги на странице закладок, а это нагружает сервер (не рекомендую). Основан, наверное, на единственно открытом API – кстати посредством него, вроде как, можно узнать приватные комментарии к манге.

5.       Всплывающее меню – действие по клику иконки на панели расширений. Имеет 3 режима:

5.1.    «0» - ничего не происходит

5.2.    «1» - открывает настройки

5.3.    «2» - открывает панель управления

6.       Блоки «Категория» и «Действие» - описывать думаю не требуется.

7.       Блок интерфейс – отвечает за визуальную часть расширения

7.1.    Элементы управления (ЭУ) – имеет три режима добавления элементов: 0 – вверху и внизу, 1 - вверху, 2- внизу.

7.2.    Цвет скрытого элемента – для работы с кнопкой «Видимость элементов» в ЭУ

7.3.    Доп. Информация – показывает количество доступных глав для прочтения.

7.4.    Уведомления – собственно показывают уведомления из блока «Уведомления»

8.       Множественное редактирование (МР) – расширение поддерживает работу с множественным редактированием

8.1.    Скрыть МР – автоматически скрывает панель МР

8.2.    Автоматически скрывать элементы – для работы с кнопкой «Видимость элементов» в ЭУ

8.3.    Убрать отмеченные эл. – даже если МР панель автоматически скрыта, то элементы всё равно останутся отмеченными, данная функция решает проблему.

9.  Уведомления – какие уведомления будут отображаться

 10. Кнопки (Закрыть/Сохранить/По умолчанию) – за то и отвечают, кроме того, не обязательно нужно нажимать «Сохранить» - настройки подтянутся при обновлении страницы или при нажатии «Настройки» в ЭП. «Сохранить» - нужна для того, чтобы при следующем открытии браузера настройки подгрузились.

Расширение предназначено для браузера "Chrome", однако должно пойти и на других браузерах на движке "Chromium".

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

    Расширение ещё в бета версии и требует доработки/оптимизации, а также оно не находится в «Интернет магазине Chrome». Пока  расширение "сырое" - здесь не выкладываю, а все, у кого есть желание протестировать/попробовать стучите в ЛС.  Если у "всевышних" будет интерес/желание, а также уверенность в безопасности данного творения - то пускай выкладывают.

    Перейдём к горькой составляющей – т.к. расширение не из магазина, то у вас при каждом открытии браузера будет всплывать данное окошко:

:(

    Здесь всё верно сказано, из-за режима разработчика открывается уязвимость для браузера, это позволяет устанавливать расширения находящихся не в маркете. Однако это не столь уязвимое место, т.к. если вирус попадёт на ваш компьютер, то он без труда и даже без режима разработчика установится.

    Ещё одной ложкой дёгтя будет то, что все (почти) запросы основаны не на открытом API, а на «костылях» сооружённых из парсинга всей страницы, что собственно даёт хоть и незначительную, но нагрузку на сервер.

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

    Надеюсь это кому-то пригодится.

Ссыдка VirusTotal (версия 1.0)

Теги: нет

Все посты Странствующий Мудрец
Следить за темой Не следить за темой Управление подписками

Комментарии (30)

Тот, о ком тебя предупреждали, сейчас я люблю вас ещё больше, ахах, миллион тенге, миллиард тенге, ржачные выражения)
Mandos
18:31 15.04.20
Тот, о ком тебя предупреждали, монеты не нужны. А всё остальное подойдёт. Мы с тобой взорвем экран.
Mandos, уууу, на это нужно время и усидчивость, настойчивость и направленность! монеты, которых в моем крохотулечном, но стопроцентно мужском ридикюльчике осталось только на похороны, да посещение банков!
Mandos
17:26 15.04.20
Тот, о ком тебя предупреждали, :бип: с ними с хармами. Ибо последний камень последнего храма обязан упасть на голову последнего жреца. Шо то я загорелся, го вместе творить отсебятину.
Я оставил предложение без слова "хлеба", чтобы проиллюстрировать мрачное грядущее!
Mandos, и спровоцировать глобальный конфликт со всеми остальными писаками планеты, которых наш булькающий и фосфоресцирующий гений оставит без куска? эта война оставит после себя только обезъянов с палками, сражающихся за последний храм цивилизации- развалины последнего кфс!
Mandos
16:51 15.04.20
Тот, о ком тебя предупреждали,чувак, нам надо с тобой фанфики/книжки писать.
Слезы прочертят дорожки на моих покрытых копотью щеках, пока я, с табуреткой в руках, буду пробиваться к точке эвакуации, раздавая пнюхи направо и налево! И, когда позади грянет взрыв, в нем сгорит частичка меня (клинок коварного марсианина отсек кусок с моего правого полуп000пия). И человек, ставший мне боратом, конечно! Позже, когда седовласый полковник подарит мне педаль, я всплакну и прошепчу: Она принадлежит тебе, брат. А теперь давай сюда мою военную пенсию за ранение (из-за которого злые дети вскоре будут звать меня "Полуп00пый"), траутмен, я собираюсь найти тут квартал красных фонарей и подцепить что-нибудь экзотическое!
Mandos
15:43 15.04.20
Тот, о ком тебя предупреждали, а я с криком "Жизнь за Жратву Терры" буду защищать продовольственный склад. Я поймаю несколько ранений, ты со страдальческим лицом подбежишь ко мне. Я буду сжимать в руке гранату и буду шептать пробитыми лёгкими: "Помнишь как мы запускали воздушных змеев? Помнишь, как мы забирались на третий этаж общаги? Помнишь, как Нэнси выбрала меня, а не тебя? Пожалуйста, позаботься о ней. Мой тут путь окончен. Ты навсегда будешь самым близким человеком для меня". Я начну заходиться кашлем кровавой пеной, ты будешь молча рыдать, но, последний раз взглянув мне в глаза, ты поймёшь всё в этом мире. Ты бросишь меня, производя отступление, а я буду зажимать запал до тех пор, пока враги не подойдут. В последний миг я увижу своих ещё нерожденных детей, увижу мир, в котором я бы мог жить... Я пожалею о том, что такого не пролизошло. Но я не дрогну. Я буду знать, что Нэнси в твоих руках. С лёгкой душой я уберу большой палец с замедлителя. Он снова начнет реакцию. До взрыва останутся считаные секунды. Но мне будет всё равно. За эти три секунды я подпустил к себе много врагов, а братан уже уходит...
Mandos, базара ноль! тогда я буду травить байки за свою нелегально тонированную ласточку и о том, как шустро асфальт мелькал под ее изъеденным коррозией брюхом! и все это под дежа-вю из инишиал-ди! А в самом конце, когда разведка ошибьется и командир прикажет нам удерживать турникеты до конца, а патроны закончатся, вайфай перестанет ловить и безумие начнет роиться в воздухе, предатель скажет- "звиняйте пацаны, это я все пончики схавал, но раскаялся" и я пристрелю его с воплем: "но ты так и не сказал мне, что у тебя в рюкзаке были кирпичи!" А потом обнаружу, что это была самая последняя пуля!
Mandos
15:08 15.04.20
Тот, о ком тебя предупреждали, главное - не говори первым о своих намерениях жениться! Я должен быть первым! Я должен пафосно щатащить катку, чтобы ты отнэнсил мою Нэнси. Мы будем постоянно обсуждать планы на жизнь после окончания войны, но я буду слишком часто смотреть на фотокарточку. И когда все вокруг умрут, мне отрвёт :бип: и я зажму в руках гранату!
Mandos, воу-воу, полегче, приятель! я готов поддерживать твою нэнси и постоянно разрываться между желанием отнэнсить ее и преданностью тебе, бразеру фром эназер мазер, с чьего пальца, увы, я так и не смог снять то кольцо (потому сохранил так, в сигаретной коробке, вместе с ним), но сперва погибнет весь отряд, а мы будем тащить на себе паренька "душещипательная предыстория" и предателя, страдающего от диареи (те пончики ему поперек кишок встали). Тут-то мы будем рассказывать друг другу о том, кто нас ждет дома (под вопли страдающего в кустах предателя).
Mandos
14:35 15.04.20
Тот, о ком тебя предупреждали, Братан! Я уже готов ловить смертельный шапалах! У меня дома осталась Нэнси, которой я собирался признаться в любви. Я постоянно смотрю на её фотографию и кольцо, что я собираюсь ей подарить по возвращению из этого ада. Ты же его доставишь вместо меня?
Mandos, дыа! эта уже та часть сюжета, где командование посылает нас на обычное с виду задание с группой краснорубашечников, пареньком с трогательной предысторией (он появился впервые в сериале) и предателем, который съел все пончики! и в дороге мы трепемся о том о сем, а потом предатель исчезает (несомненно ради того, чтобы избавиться от пончиков естественным путем) и группа попадает в засаду!
Mandos
14:11 15.04.20
Тот, о ком тебя предупреждали, ...это заявляние... было сильным. Ахаха! Так, где тут стрелок/копьеметатель/лучник/астероид!? Чувак, ты меня развеселил. Предлагаю поболтать, чтоб воплотить этот штамп в жизнь. Докажи мне, что ты также хорош, как твой юмор, и я, интиллигент из владивостока (+перки "быдлоган" и "жестокость") назову тебя своим товарищем. Со всеми вытекающими клише.
Mandos,ах! это же та самая встреча с чуваком, который заявляет, что ты ему не нравишься, а потом вы становитесь лучшими друзьями-натуралами и он ловит за тебя пулю/копье/стрелу в колено/астероид! будь спок, я отомщу за тебя!
Mandos
13:44 15.04.20
Тот, о ком тебя предупреждали, меня женщина бросила из тех краёв, где тенге в ходу. Ты мне заранее не нравишься.
Mandos, верно! я потратил миллион тенге на то, чтобы выглядеть точным клоном газманова и мне это удалось!
Mandos
04:12 15.04.20
Тот, о ком тебя предупреждали, эм... ты не похож на меня.
Зелёныш, я просто стараюсь соответствовать своему имени!)
Тот, о ком тебя предупреждали, что вы такое делаете, вот не дай боже услышат)
Аплодисменты вашей идейности и способности её реализовать) Я же ленивое существо другого плана, мне проще пользоваться несколькими ресурсами)
Ma_aelKoT, оу йес! "конглаверат" ридманги, дайте страждующим запросы на уведомления, доступ к геолокации, запрос на рассылку по электронной почте! И яндекс-браузер опционально, позязя! услышьте же меня, "кингоконговератат"!
Ай малаца! Ты еще и реабилитировал аватару челкастого саус-парка!
Mandos
11:21 14.04.20
То есть... Из всех тех чувачков, у которых есть "очешуенные" идеи из разряда "как улчушить наш портал", ты... вместо того, чтобы ныть, визжать, бегать без трусов, дрыгать ручками и требовать что-то... ты просто взял и сделал? Ну ладно, ты один из немногих людей на этом сайте, который заслужил моё уважение с первого взгляда... если не вообще единственный. Кстати, я как раз из тех обозначенных мною недовольных чувачков... правда, не в техническом плане, а в плане модерации жанров и тэгов. Тут чисто технически ничего не поделаешь кроме аппеляции к старшим... Если ты не наглый и умелый Теня.
Кардинал Чань
10:42 14.04.20
Спасибо!! Я в поиске не очень, но если честно, то мне интересные манги рекомендуют как раз в тот момент, когда я думаю - а чтобы почитать))
Домовой_
06:06 14.04.20
Зверушкен, ДА!
Домовой_
06:06 14.04.20
хм... интересно
Ma_aelKoT
23:08 13.04.20
Тут не расширения нужно пилить, тут нужно умолять конграмелат ридманги вырасти из сайтов из 2000х во что-то более современное, и функциональное...
МАРТЕНСИТ
19:08 13.04.20
Есть люди, которые заходят сюда для чтения манги? ... не понимаю.
Всем доброго времени суток, хочу поделиться своими небольшими творением
Опубликовано: 13.04.20
Комментариев: 30
Пожаловаться на содержание поста
Меню