Обновление расширения Chrome с Manifest V2 до Manifest V3 — важнейший шаг для разработчиков, поскольку Google прекратил поддержку Manifest V2. В этой статье мы рассмотрим процесс обновления расширения Pomodoro Timer, изначально созданного с помощью Manifest V2, до нового стандарта Manifest V3.
У меня было расширение Pomodoro Timer, которое я сделал бесплатно 4 года назад, и получил уведомление от Google о том, что мне нужно обновить Manifest.
Первоначальную версию моего таймера Помидора я разработал сам, с ревом тиранозавра в качестве уведомления об окончании цикла ?. Это было необычно и весело, я даже был удивлен, увидев, что им воспользовались 24 человека.
Вот как это выглядело:
Моя жена недавно начала изучать дизайн, и, поскольку мне нужно обновить Manifest, я попросил ее освежить дизайн. Результат в конце статьи. Спойлер: Думаю, получилось здорово.
В манифесте V3 представлено несколько ключевых изменений, направленных на повышение конфиденциальности, безопасности и производительности расширений Chrome. Эти изменения включают в себя:
Прежде чем погрузиться в обновление, важно понять ключевые изменения между Manifest V2 и V3:
Вот как можно обновить файл Manifest.json с версии V2 на версию V3 для расширения таймера Pomodoro:
Пример исходного манифеста версии 2:
{ "name": "Pomodoro Clock", "version": "1.1.0", "description": "Simple background timer for productivity", "manifest_version": 2, "permissions": ["storage"], "browser_action": { "default_popup": "popup.html", "default_icon": { "16": "img/tomato16.png", "32": "img/tomato32.png", "48": "img/tomato48.png", "128": "img/tomato128.png" } }, "icons": { "16": "img/tomato16.png", "32": "img/tomato32.png", "48": "img/tomato48.png", "128": "img/tomato128.png" }, "background": { "scripts": ["background.js"] }, "options_page": "options.html" }
Пример обновленного манифеста версии 3:
{ "name": "Pomodoro Timer & Focus Clock", "version": "2.0.1", "description": "Boost productivity with this simple Pomodoro timer. Focus on tasks, minimize distractions, and manage your time effectively.", "manifest_version": 3, "permissions": ["storage","notifications","alarms"], "action": { "default_popup": "popup.html", "default_icon": { "16": "img/tomato16.png", "32": "img/tomato32.png", "48": "img/tomato48.png", "128": "img/tomato128.png" } }, "icons": { "16": "img/tomato16.png", "32": "img/tomato32.png", "48": "img/tomato48.png", "128": "img/tomato128.png" }, "background": { "service_worker": "background.js" } }
Основные изменения в манифесте:
Фоновый сценарий:
В V3 фоновые сценарии заменены сервисными работниками. Сервисные работники работают только при необходимости, что повышает эффективность использования ресурсов.
Действие или действие браузера:
browser_action заменено действием, которое объединяет функциональность и упрощает манифест.
Мое расширение использовало простой setInterval() в фоновом режиме, с сервис-воркером такое поведение работать не будет, поскольку для экономии ресурсов браузера оно запускается только при необходимости.
В моем случае мне пришлось изменить таймер и сохранить временную метку в хранилище, использовать сигналы тревоги, чтобы запланировать запуск кода запуска вызывающего уведомления.
И, конечно же, использовал встроенные уведомления Chrome для отправки уведомлений, чтобы избавиться от надоедливой задней части тираннозавра. Если меня читают первые пользователи моего расширения, мне очень жаль?
Примера кода здесь не будет, поскольку он слишком специфичен.
Вот результат. Я думаю, это довольно круто. Минималистичный и простой в использовании
Обновление оказалось не таким уж и сложным, главное понять разницу между старым фоновым скриптом и сервис-воркером, но будьте осторожны с Тревогами, мне даже удалось пару раз крашить Chrome при тестировании ?
Не стесняйтесь попробовать обновленное расширение Pomodoro Timer & Focus Clock и удачи в обновлении!
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3