.URL+ RU – создаёт и корректно открывает файлы *.URL (ссылочные ярлыки для сетевых ресурсов, В этой статье:
Общее назначение и краткая история создания.URL+ RU – расширение для браузеров семейства Chromium, создаёт и корректно открывает файлы *.URL (ярлыки интернет-ресурсов, Windows-формат).
Основное назначение – обеспечить корректную работу с внешними файлами ярлыков. Главная цель – простота и компактность решения и работоспособность на любых версиях браузеров. Расширение создано под эти задачи на базе двух отдельных аддонов – "окрывашки" ярлыков .URL Handler и "создателя" ярлыков Save As Shortcut. В форке обе задачи сведены в один общий "пакет" (2-в-1), базовые функции доработаны и улучшены, добавлены дополнительные возможности, полностью русифицирован интерфейс. При выпуске первой версии в мае 2018 года расширение "брэндировано" как ".URL+" и получило приставку RU, символизирующую "заточенность" решения на русскоязычную аудиторию пользователей. На текущий момент аддон распространяется под этой "торговой маркой". В результате "доработки* напильником" аддон .URL+ RU стал отличной альтернативой прототипам и другим аналогам, не только не уступая им по качеству решения главных задач, но и превосходя их по общей "лёгкости" и функционалу. * Самое важное отличие – существенно меньшая ресурсоёмкость, при условии полной идентичности выполняемых функций общий размер кода нового "микро-комбайна 2-в-1" уменьшен почти в 200 (!) раз по отношению к суммарному объёму прототипов. Следует особо отметить, что в отличие от многих других современных аддонов, в .URL+ RU нет (и никогда не будет) никакой "допустимой" или скрытой рекламы, это расширение не является предметом монетизации. Автор гарантирует отсутствие в этом расширении каких-либо следящих, "стучащих" и иных "статистических" механизмов, а также любых других средств, направленных на "персонализацию" конечного пользователя с целью получения какой-то коммерческой выгоды. Основные возможности и способ применения.URL+ RU работает на любых хром-браузерах и позволяет сохранить файл ярлыка* для любой просматриваемой страницы, при этом имя сохраняемого файла автоматически генерируется по заголовку текущей вкладки. В стандартном диалоге сохранения можно вручную изменить имя файла и/или путь его сохранения. * Сохранённые файлы *.URL (ярлыки интернет-ресурсов, Windows-формат) можно затем открывать непосредственно из "Проводника" в любом другом браузере, поддерживающем этот формат. Разработаны три линейки аддона, отличающиеся только способами вызова функции создания файла ярлыка. Все три линейки имеют одинаковый ID и полностью взаимозаменяемы при (пере)установке поверх друг друга. Создать ярлык на текущую страницу можно следующими способами:
* В браузерах версий 49+ можно отключить контекстное меню (кроме линейки Mini – там это единственный способ вызова). Эта настройка доступна в контекстном меню кнопки в омнибоксе (или в меню кнопки на тулбаре в линейке Classic):
Кроме сохранения файлов ярлыков, .URL+ RU полностью решает "застарелый" баг, известный ещё с 19 версии движка (с 19-й, Карл!!)), но так и не исправленный даже в новейших билдах. Как уже сказано, аддон корректно открывает файлы ярлыков, независимо от браузера по умолчанию и других системных настроек. Это позволяет установить (при желании) системную привязку этих файлов к вашему браузеру для их открытия непосредственно из "Проводника" или другого файлового менеджера. Механизм открытия внешнего файла ярлыка во всех линейках реализован одинаково и приводит к автоматическому редиректу на содержащуюся в нём ссылку. Редирект производится в той же вкладке (окне), в которой файл был открыт. Технические детали разработкиНиже приведены технические особенности расширения и некоторые подробности по исходному коду. Исходный код, интерфейс и API.URL+ RU не использует для работы никакие сторонние библиотеки (привет любителям JQuery)). В коде применён только чистый JS (ES5), все неподдерживаемые в "старых" браузерах функции заменены на аналоги. Скрипт работает в "строгом" режиме – для гарантированного выполнения функций и облегчения отлова ошибок. Аддон загружается только в момент вызова, не имеет фонового процесса и не занимает память в покое. Кроме того, добавлена функция ускоренной выгрузки расширения из памяти после выполнения требуемых действий. Для работы со вкладками задействуется API chrome.tabs. Этот API используется в "омнибоксной" и "классической" линейках, в "мини" его применение не требуется. Кроме того, в "омнибоксной" линейке также применяется разрешение activeTab, упрощающее действия на текущих страницах. Для работы функции, связанной с открытием файлов ярлыков, применяется инжекция скрипта в текущую страницу (API контент-скриптов). Инжектор работает только для локальных файлов *.URL, для работы с ними в манифесте указано разрешение [ "file://*.url" ]. Интерфейс для "открывающей" части отсутствует, процесс получения URL из файла ярлыка и его последующее открытие во вкладке происходит полностью автоматически. Интерфейсная часть аддона используется только для функции создания ярлыка текущей страницы (вкладки) и в контекстном меню страницы во всех линейках представлена единственным пунктом. Для запуска функции создания ярлыка через контекстное меню применяется стандартный API chrome.contextMenus. Этим же API предоставляется доступ к настройкам аддона в "омнибоксной" и "классической" линейках. Для вызова функции создания ярлыка при щелчке по кнопке в омнибоксе применяется API chrome.pageAction. Для ускоренной и гарантированной отрисовки кнопки на всех вкладках используется API chrome.declarativeContent. Оба этих API используются только в "омнибоксной" линейке. Для вызова функции создания ярлыка при щелчке по кнопке на тулбаре применяется API chrome.browserAction. Этот API используется только в "классической" линейке. Для вызова функции создания ярлыка по горячей клавише используется API chrome.commands. Этот API используется только в "омнибоксной" и "классической" линейках. Для обеспечения корректной работы аддона по созданию ярлыков на любых вкладках, включая локальные и служебные страницы, в манифесте запрашивается разрешение [ "<all_urls>" ]. Расширение работает полностью автономно. Настройки также автономны и сохраняются только в локальном хранилище самого аддона, синхронизации нет. Для работы с хранилищем применяется API chrome.storage. Запрос отдельного разрешения [ "storage" ] в манифесте при этом необязателен и не указан. Этот API используется только в "омнибоксной" и "классической" линейках, в версии "мини" какие-либо настройки отсутствуют в принципе. Дополнительные примечания по кодуПрактических ограничений по версии браузера не имеется, используемые API работают в версиях 22+ (минимум для работы контекстного меню, для вызова по хоткею требуется версия 25+). Язык интерфейса – только русский (локализация жёсткая, зашита в коде), другие* локализации отсутствуют. Это связано со значительным упрощением кода, а также с тем, что при создании расширения автор в первую очередь ориентируется на русскоязычных пользователей. * Впрочем, если "дело пойдёт", прикрутить ещё и "басурманский" не является особой проблемой…) Загрузка и установкаРасширение не имеет практических ограничений по версии браузера, может использоваться на любых хром-браузерах версий 22+ (рекомендуется 25+). Однако, с учётом различных "новшеств", вводимых производителями браузеров, желательно ознакомиться с документацией на конкретный билд, который планируется установить – могут быть, так сказать, "некоторые нюансики" и их необходимо учитывать.) Можно загрузить любую из версий .URL+ RU на следующих ресурсах:
При возникновении сложностей с установкой читаем этот совет. Для работы в режиме "инкогнито" в блоке аддона на странице chrome://extensions включаем опцию: Для работы с локальными файлами в блоке аддона на странице chrome://extensions включаем опцию: Ссылки для интересующихся
| ||||||||||
Бармалей 05.05.2018 17.10.2020 306 Общие технические сведения о разработке
|
Всего комментариев: 0 |