"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تحديث ملحق Chrome من دليل Manifest Vo VA خطوة بخطوة باستخدام مثال مؤقت Pomodoro

كيفية تحديث ملحق Chrome من دليل Manifest Vo VA خطوة بخطوة باستخدام مثال مؤقت Pomodoro

تم النشر بتاريخ 2024-11-09
تصفح:393

يعد تحديث ملحق Chrome من Manifest V2 إلى Manifest V3 خطوة حاسمة للمطورين، حيث قامت Google بالتخلص التدريجي من دعم Manifest V2. في هذه المقالة، سنستعرض عملية ترقية ملحق Pomodoro Timer، الذي تم إنشاؤه في الأصل باستخدام Manifest V2، إلى معيار Manifest V3 الأحدث.

قصتي

كان لدي ملحق Pomodoro Timer الذي قمت بإنشائه منذ 4 سنوات بدون مقابل، وتلقيت إشعارًا من Google بأنني بحاجة إلى تحديث Manifest.

كان الإصدار الأصلي من Pomodoro Timer الخاص بي شيئًا صممته بنفسي، مع هدير T-Rex كإشعار نهاية الدورة؟. لقد كان الأمر غريبًا وممتعًا، حتى أنني فوجئت برؤية 24 شخصًا يستخدمونه.

وهذا ما بدا عليه:

How to Update a Chrome Extension from Manifest Vo VA Step-by-Step Guide Using a Pomodoro Timer Example

بدأت زوجتي مؤخرًا في تعلم التصميم وبما أنني بحاجة إلى تحديث Manifest، فقد طلبت منها تحديث التصميم. والنتيجة في نهاية المقال. المفسد: أعتقد أن الأمر أصبح رائعًا.

لماذا الترقية إلى البيان V3؟

يقدم Manifest V3 العديد من التغييرات الرئيسية التي تهدف إلى تعزيز الخصوصية والأمان والأداء في ملحقات Chrome. تتضمن هذه التغييرات:

  • عمال الخدمة: يتم استبدال صفحات الخلفية بعمال الخدمة، وهم أكثر كفاءة لأنهم لا يعملون بشكل مستمر.
  • الأمان المحسّن: نطاقات أذونات مخفضة وإدخال واجهة برمجة تطبيقات NetRequest التعريفية لإدارة طلبات الشبكة.
  • تحسين الأداء: من خلال تحسين كيفية تفاعل الإضافات مع موارد المتصفح، يضمن الإصدار 3 إدارة أفضل للموارد.

الخطوة 1: فهم الاختلافات الأساسية

قبل الغوص في التحديث، من المهم فهم التغييرات الرئيسية بين Manifest V2 وV3:

  1. البرامج النصية للخلفية: في الإصدار الثاني، يتم تشغيل البرامج النصية للخلفية بشكل مستمر. في الإصدار الثالث، يتم استبدالهم بعمال الخدمة الذين يعملون فقط عند الحاجة.
  2. الأذونات: يتطلب Manifest V3 إعلانًا صريحًا لجميع الأذونات، وقد تم إهمال بعض الأذونات أو استبدالها.
  3. تغييرات واجهة برمجة التطبيقات: تمت إزالة بعض واجهات برمجة التطبيقات أو استبدالها، وتم تحديث نظام المراسلة بين المكونات المختلفة للامتداد.

الخطوة الثانية: تحديث ملف البيان

إليك كيفية تحديث ملف Manifest.json من V2 إلى V3 لامتداد Pomodoro Timer:

مثال للبيان الأصلي الإصدار الثاني:

{
  "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"
}

مثال البيان المحدث V3:

{
  "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"
  }
}

التغييرات الرئيسية في البيان:

نص الخلفية:

  • V2: "الخلفية": {"scripts": ["background.js"]}
  • V3: "الخلفية": {"service_worker": "background.js"}

في الإصدار الثالث، يتم استبدال البرامج النصية الخلفية بعمال الخدمة. لا يعمل عمال الخدمة إلا عند الضرورة، مما يؤدي إلى تحسين كفاءة الموارد.

الإجراء مقابل إجراء المتصفح:

  • V2: "browser_action": { ...
  • V3: "action": { ...

تم استبدال browser_action بالإجراء الذي يعمل على دمج الوظائف وتبسيط البيان.

الخطوة 3: تحديث البرنامج النصي للخلفية لاستخدام عمال الخدمة

استخدم ملحقي setInterval() بسيطًا في الخلفية، مع عامل الخدمة لن يعمل هذا السلوك، لأنه لحفظ موارد المتصفح يتم تشغيله فقط عند الحاجة.

في حالتي، اضطررت إلى تعديل المؤقت وتخزين الطابع الزمني في وحدة التخزين، واستخدام المنبهات لجدولة رمز التشغيل الخاص بمتصل الإشعارات للتشغيل.

وبالطبع استخدم إشعارات Chrome المدمجة لإرسال إشعارات للتخلص من مؤخرة تي ريكس المزعجة. إذا قرأني المستخدمون الأوائل لامتدادي، فأنا آسف حقًا لذلك؟

لن يكون هناك مثال للتعليمات البرمجية هنا لأنه محدد للغاية.

خاتمة

وهذه هي النتيجة. أعتقد أنه رائع. أضيق الحدود وسهلة الاستخدام

How to Update a Chrome Extension from Manifest Vo VA Step-by-Step Guide Using a Pomodoro Timer Example

لم يكن التحديث بهذه الصعوبة، والشيء الرئيسي هو فهم الفرق بين نص الخلفية القديم وعامل الخدمة، ولكن كن حذرًا مع الإنذارات، حتى أنني تمكنت من تعطل Chrome عدة مرات أثناء الاختبار؟

لا تتردد في تجربة ملحق Pomodoro Timer & Focus Clock المحدث ونتمنى لك حظًا سعيدًا في تحديث ملحقك!

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/kopchikovich/how-to-update-a-chrome-extension-from-manifest-v2-to-v3-a-step-by-step-guide-using- أ- pomodoro-timer-example-5ene?1إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3