يُرجى مراجعة هذه الصفحة بشكل متكرّر للاطّلاع على التغييرات التي تطرأ على إضافات Chrome أو مستندات إضافات Chrome أو السياسة ذات الصلة أو التغييرات الأخرى. يمكنك العثور على إشعارات أخرى منشورة في مجموعة الإضافات على Google. يسرد الجدول الزمني لإصدارات Chrome تواريخ الإصدارات الثابتة والإصدارات التجريبية.
الإصدار 132 من Chrome: عرض مساحة التخزين المخصّصة للإضافة وتعديلها في DevTools
اعتبارًا من الإصدار 132 من Chrome، يمكنك عرض البيانات المخزّنة وتعديلها باستخدام واجهة برمجة التطبيقات chrome.storage
في "أدوات مطوّري البرامج". لمزيد من المعلومات، يُرجى الاطّلاع على صفحة عرض مساحة التخزين المخصّصة للإضافة وتعديلها الجديدة في مستندات أدوات المطوّرين.
مشاركة مدونة: قائمة الإضافات الجديدة
في مؤتمر Google I/O لعام 2024، شاركنا بعض التصاميم المبكرة للتغييرات القادمة على قائمة الإضافات، ما يمنح المستخدمين مزيدًا من التحكّم في المواقع الإلكترونية التي يمكن للإضافات الوصول إليها. سنبدأ قريبًا باختبار هذه التغييرات، بدءًا من نسبة صغيرة من المستخدمين في الإصدار Canary، ونأمل طرحها على نطاق أوسع في المستقبل.
سنقدّم أيضًا واجهة برمجة التطبيقات chrome.permissions.addHostAccessRequest()
.
يمكنك الاطّلاع على مزيد من المعلومات في مشاركة المدونة.
الإصدار 132 من Chrome: سمة جديدة مجمّدة في Tabs API
اعتبارًا من الإصدار 132 من Chrome، تشير السمة frozen
في واجهة Tabs API إلى ما إذا كان المتصفّح قد جمّد علامة تبويب. سيتم وضع الرسائل المُرسَلة إلى علامات التبويب المُجمَّدة في قائمة الانتظار ومعالجتها عند إلغاء تجميد علامة التبويب.
واجهة برمجة التطبيقات Prompt API في إضافات Chrome
تتوفّر Prompt API للإضافات الآن في إصدار تجريبي أوّلي، ما يتيح لك إنشاء إضافات Chrome تستخدِم Gemini Nano، وهو أفضل نموذج لغوي لدينا، في المتصفّح.
يمكنك الانضمام إلى مرحلة التجربة والتقييم من Prompt API، والتي تعمل في الإصدارات من Chrome 131 إلى 136، ومشاركة ملاحظاتك. يمكن أن تؤثّر ملاحظاتك بشكل مباشر في كيفية إنشاء الإصدارات المستقبلية من واجهة برمجة التطبيقات هذه وجميع واجهات برمجة التطبيقات المضمّنة للذكاء الاصطناعي وتنفيذها.
مشاركة مدوّنة: آخر الأخبار حول إضافات Chrome، تشرين الأول (أكتوبر) 2024
لقد حان الوقت لعرض آخر الأخبار حول إضافات Chrome: لدينا معلومات جديدة حول دمج الذكاء الاصطناعي وواجهات برمجة التطبيقات الجديدة والفعاليات والفيديوهات. يمكنك الاطّلاع على كل التفاصيل في الإصدار الصادر في تشرين الأول (أكتوبر) من "مستجدات إضافات Chrome".
الانضمام إلى تحدّي الذكاء الاصطناعي المضمّن
أطلق فريق Chrome تحدّي الذكاء الاصطناعي المضمّن: ندعوك إلى إنشاء تطبيقات ويب و"إضافات Chrome" مبتكرة باستخدام نماذج الذكاء الاصطناعي وواجهات برمجة التطبيقات المدمجة في Chrome، والحصول على فرصة الفوز بجوائز بقيمة إجمالية تبلغ 65,000 دولار أمريكي.
يمكنك الاشتراك والحصول على مزيد من المعلومات على الموقع الإلكتروني لتحدّي الذكاء الاصطناعي المضمّن. نحن متحمّسون لمعرفة المحتوى الذي ستُنشئه عند دمج الذكاء الاصطناعي في الويب.
الإصدار 130 من Chrome: action.onUserSettingsChanged
اعتبارًا من الإصدار 130 من Chrome، أصبح الحدث action.onUserSettingsChanged متاحًا. يأتي ذلك بعد اقتراح في مجموعة منتدى WebExtensions. نشكر Microsoft على مساهمتها في Chromium.
الإصدار 130 من Chrome: StorageArea.getKeys()
اعتبارًا من الإصدار 130 من Chrome، تتوفّر الطريقة getKeys()
في واجهة StorageArea التي تستخدمها واجهة برمجة التطبيقات chrome.storage
. يأتي ذلك بعد اقتراح في مجموعة منتدى WebExtensions.
Chrome 128: مطابقة عنوان الاستجابة في طلب الشبكة التعريفي
اعتبارًا من الإصدار 128 من Chrome، سنضيف إمكانية مطابقة عنوان الاستجابة في واجهة برمجة التطبيقات Declarative Net Request API. كان هذا الطلب شائعًا، لا سيما لمطابقة رأس Content-Type، وصمّمنا واجهة برمجة تطبيقات مناسبة مع مجموعة WebExtensions Community.
لقد عدّلنا مرجع واجهة برمجة التطبيقات لتشمل الحقلَين الجديدَين responseHeaders
وexcludedResponseHeaders
. يمكنك استخدام هذه الوظائف للتحقّق من توفّر عنوان معيّن وقيمته.
في إطار هذا التعديل، أضفنا قسمًا جديدًا حول تقييم القواعد إلى مستنداتنا يوضّح كيفية مطابقة القواعد. بالنسبة إلى مطابقة الرأس على وجه الخصوص، لا يمكن تنفيذ القواعد إلا بعد استلام رؤوس الاستجابة، لذا يتم تطبيقها في مرحلة لاحقة مقارنةً بالقواعد الأخرى. وهذا يعني أنّ الطلب يصل إلى الخادم قبل حظره أو إعادة توجيهه.
فيديو: ما هي نصوص المحتوى البرمجية؟
تعرَّف على نصوص المحتوى في إضافات Chrome، بما في ذلك كيفية تسجيل صفحات CSS وJavaScript لتشغيلها على صفحة معيّنة. يمكنك مشاهدة الفيديو الكامل.
تعديلات مهمة على السياسات
نشر فريق "سوق Chrome الإلكتروني" سلسلة من التعديلات على صفحة سياسات المطوّرين بهدف تشجيع تطوير منتجات عالية الجودة ومنع السلوك المخادع وضمان حصول المستخدمين على موافقة مدروسة. لقد لخّصت "ريبيكا سوارس"، مديرة سياسات "سوق Chrome الإلكتروني"، جميع التعديلات في مقالة مدوّنة بعنوان "إضافات Chrome: تعديلات مهمة على السياسات".
مشاركة مدوّنة: آخر الأخبار عن إضافات Chrome، تموز (يوليو) 2024
خلال الأشهر الثلاثة الماضية، طرحنا العديد من التحديثات والميزات الجديدة المهمة، بما في ذلك بدء إيقاف Manifest V2 نهائيًا. اطّلِع على آخر الأخبار حول إضافات Chrome في إصدار شهر تموز (يوليو).
فيديو: ما هو رمز الاستضافة عن بُعد؟
يشرح باتريك من فريق إضافات Chrome مفهوم "الرمز البرمجي المستضاف عن بُعد" (RHC) في إضافات Chrome. تعرَّف على سبب عدم السماح باستخدام تقنية RHC بعد الآن وكيفية رصدها والإجراءات التي يجب اتّخاذها إذا كان يجب تحديث إضافتك. يمكنك مشاهدة الفيديو الكامل.
الإصدار 127 من Chrome: واجهة برمجة تطبيقات جديدة لـ action.openPopup
اعتبارًا من الإصدار 127 من Chrome، أصبحت واجهة برمجة التطبيقات action.openPopup
متوفّرة لجميع الإضافات. في السابق، كان هذا الخيار متاحًا فقط في الإصدار Canary
أو للإضافة التي تم تثبيتها بموجب سياسة.
فيديو: مقابلة مع فريق الثقة والسلامة
التقى فريق تطوير الإضافات في Chrome بفريق الثقة والأمان الذي يدير عملية المراجعة في "سوق Chrome الإلكتروني" لطرح أسئلتك. يمكنك مشاهدة الفيديو الكامل.
مشاركة مدونة: بدء إيقاف الإصدار 2 من بيان الإضافة نهائيًا
اعتبارًا من 3 حزيران (يونيو) على القنوات التجريبية والمطوّرين وCanary في Chrome، إذا كانت إضافات Manifest V2 لا تزال مثبّتة لدى المستخدمين، سيبدأ البعض في رؤية بانر تحذيري عند الانتقال إلى صفحة إدارة الإضافات - chrome://extensions - لإعلامهم بأنّ بعض الإضافات (Manifest V2) التي ثبّتوها لن تكون متاحة قريبًا. يمكنك الاطّلاع على مزيد من المعلومات في الإشعار الرسمي.
تعديلات على واجهة مستخدم اللوحة الجانبية
أجرينا مؤخرًا بعض التغييرات على واجهة مستخدم اللوحة الجانبية، بما في ذلك إضافة رمز دبوس وإزالة رمز اللوحة الجانبية العام. يمكنك الاطّلاع على مزيد من المعلومات في إشعار السلامة والاطّلاع على المستندات وعيّنات المعدّلة.
مشاركة مدوّنة: إضافات Chrome في مؤتمر Google I/O لعام 2024
لقد انتهى مؤتمر Google I/O آخر وتناولنا فيه جميع التعديلات المثيرة على الإضافات. يمكنك الانتقال إلى YouTube لمشاهدة الفيديو الكامل وقراءة مشاركة المدوّنة للاطّلاع على بعض أهم التفاصيل.
تخطّي مراجعة التغييرات المؤهّلة في طلب الشبكة التعريفي
يتيح لك "سوق Chrome الإلكتروني" الآن تخطّي مراجعة التغييرات المؤهّلة عند استخدام واجهة برمجة التطبيقات Declarative Net Request API. اطّلِع على مزيد من المعلومات حول الأهلية وكيفية تفعيل الميزة في مستندات "سوق Chrome الإلكتروني".
متوفر في واجهة برمجة التطبيقات Chrome Web Store API
لقد عدّلنا مؤخرًا مستندات Chrome Web Store API لتضمين معلومات عن deployPercentage
، التي تتيح لك تحديد نسبة مئوية من عملية الطرح الجزئي. مزيد من المعلومات حول deployPercentage
الإصدار 126 من Chrome: مرحلة تجربة وتقييم المصدر في الإضافات
يقدّم الإصدار 126 من Chrome حقلًا جديدًا في ملف manifest.json - trial_tokens
، ما يتيح لك تفعيل "مراحل تجربة وتقييم الإصدارات العلنية" و"مراحل تجربة وتقييم الإيقاف النهائي" في جميع مساحات عرض الإضافات. اطّلِع على الدليل للحصول على مزيد من المعلومات.
مشاركة مدوّنة: آخر الأخبار عن إضافات Chrome - نيسان (أبريل) 2024
لقد نشرنا إصدارًا جديدًا من التغييرات في إضافات Chrome. تتناول المشاركة ما كان يعمل عليه فريق ميزة "إضافات" خلال الأشهر القليلة الماضية. ويشمل ذلك: ميزة "إلغاء التحديث" في "سوق Chrome الإلكتروني"، ودعم أفضل لـ Firebase Auth، ومزيد من عمليات إطلاق واجهات برمجة التطبيقات وتعديلاتها.
عمليات التراجع عن الإصدارات في "لوحة بيانات المطوّر" في "سوق Chrome الإلكتروني"
يمكنك الرجوع إلى الإصدار السابق المنشور من الإضافة في "سوق Chrome الإلكتروني" بدون إجراء مراجعة إضافية. يمكنك الاطّلاع على مشاركة المدونة والمستندات للحصول على مزيد من المعلومات.
الإصدار 124 من Chrome: واجهة برمجة التطبيقات Advanced documentScan API
تتوفّر الآن واجهة برمجة تطبيقات documentScan
API
متقدّمة على نظام التشغيل ChromeOS لاكتشاف الصور واستردادها من ماسحات ضوئية للمستندات مُرفَقة.
الإصدار 124 من Chrome: إتاحة WebGPU في مشغّلي الخدمات
منذ الإصدار 124 من Chrome، تتيح مهام الخدمة استخدام WebGPU. لبدء استخدام WebGPU بشكلٍ سريع، يمكنك الاطّلاع على نموذج إضافة WebGPU.
الإصدار 123 من Chrome: تتيح واجهة برمجة التطبيقات Events API الفلترة حسب مجموعات CIDR
تتيح Events API الآن الفلترة
حسب مجموعات التوجيه بين النطاقات بدون فئات (CIDR). حظر CIDR هو مجموعة من
عناوين IP التي تتشارك بادئة شبكة والعدد نفسه من وحدات البت. في السابق، كان المطوّر الذي يحتاج إلى فلترة عناوين IP متعددة يحتاج إلى ضبط قاعدة فلترة لكل عنوان من العناوين في نطاق الحظر. الآن عندما تستدعي إحدى الإضافات
addListener()
، تعني القاعدة التي تم تمريرها أنّه لن يتم استدعاء معالِج الحدث إلا
عندما يكون جزء المضيف من عنوان URL هو عنوان IP ويحتوي على أي من مجموعات التنسيق CIDR
المحدّدة في صفيف.
"سوق Chrome الإلكتروني": تعديلات على متطلبات طول اسم الإضافة
في "سوق Chrome الإلكتروني"، أصبح هناك حدّ أقصى عالمي يبلغ 75 حرفًا لمجال "name"
فيملف
manifest.json الخاص بالإضافة. في السابق، كان الحد الأقصى المسموح به في اللغة الإنجليزية هو 45 حرفًا، ولم يكن هناك أي قيود على حقل "name"
في اللغات الأخرى.
كان الهدف الأصلي من ذلك هو السماح بالاختلافات الثقافية واللغوية التي قد لا يمكن تسجيلها في العدد نفسه من الأحرف. ومع ذلك، اساء استخدام هذه الميزة من قِبل عدد صغير من المطوّرين لنشر محتوى غير مرغوب فيه في المتجر. نتيجةً لذلك، سنقدّم حدًا عالميًا جديدًا يصل إلى 75 حرفًا. يشمل هذا الحدّ تقريبًا جميع الإضافات المتاحة في المتجر اليوم، لذا من المرجّح ألا تحتاج إلى اتخاذ أي إجراء نتيجةً لهذا التغيير. إذا حاولت تحميل إضافة لها اسم أطول من الحد الأقصى المسموح به، سيحظر المتجر عملية التحميل.
مشاركة مدونة: رحلة eyeo لاختبار تعليق الخدمة
في هذا المنشور الذي نشره فريق Extension Engine في eyeo، نتناول مشكلة اختبار عمال خدمة الإضافات. في الإصدار 2 من بيان الإضافة، كانت الإضافات تظهر في صفحة في الخلفية، وكانت تعمل طوال دورة حياة الإضافة. يستخدم الإصدار 3 من ملف البيان مشغّلات الخدمات بدلاً من ذلك، وهي مصمّمة للحفاظ على الموارد من خلال إيقافها عندما لا تكون مطلوبة. ويؤدي ذلك إلى مواجهة تحديات معيّنة في الاختبار. توضّح هذه المشاركة كيفية تعامل شركة eyeo مع هذه التحديات.
Chrome 123: تشغيل المنبّهات الآن عندما يكون الجهاز في وضع السكون
لم يعُد يتم تأخير المنبّهات التي يتم ضبطها باستخدام واجهة برمجة التطبيقات chrome.alarms
عندما ينتقل الجهاز إلى وضع السكون. عند تنشيط الجهاز، سيتم تشغيله
مرة واحدة بغض النظر عن عدد المنبّهات التي تم تفويت وقتها. على سبيل المثال، لنفترض أنّه
تم ضبط المنبّه لتفعيله مرة كل ساعة وأنّ الجهاز الذي تم ضبط المنبّه عليه في وضع السكون من
12:55 صباحًا إلى 2:05 صباحًا، عندئذٍ لن يؤدي سوى المنبّه الذي يتم تفعيله في الساعة 2:00 صباحًا إلى بدء الحدث onAlarm
.
سيتم تشغيله في أقرب وقت ممكن من الساعة 2:00 صباحًا، وفور استيقاظ أحد الأجهزة
إذا كان في وضع السكون.
يتوافق هذا التغيير مع السلوك المتفق عليه في مجموعة منتدى Web Extensions.
مشاركة مدوّنة: تغييرات على سلوك bfcache مع منافذ رسائل الإضافات
ميزة "التخزين المؤقت للصفحات" (bfcache) هي أداة تحسين
للمتصفّح تتيح الانتقال الفوري للأمام أو للخلف. بدءًا من الإصدار 123 من Chrome، عندما يتم تخزين صفحة تتضمّن منفذ إضافة مفتوحًا في bfcache، يتم إغلاق
قناة الرسائل، ما يعني أنّه لن يتم إرسال أي رسائل إلى تلك الصفحة.
نتيجةً لذلك، يجب أن تستمع نصوص برمجة الإضافات إلى أحداث دورة الحياة، مثل
onDisconnect
وأن تنشئ اتصالاً جديدًا عند استعادة الصفحة من BFCache.
لمزيد من المعلومات وعينات الرموز البرمجية، يُرجى الاطّلاع على التغييرات في سلوك BFCache مع منافذ رسائل الإضافات.
الإصدار 122 من Chrome: إتاحة وعد على واجهات برمجة التطبيقات غير المتزامنة للإضافة
لقد انتهينا من تنفيذ ميزة Promise لجميع methods
واجهة برمجة التطبيقات للإضافات غير المتزامنة. تم إجراء ذلك لتحسين طرق واجهة برمجة التطبيقات من خلال تحسين سهولة استخدام
التعامل مع العمليات غير المتزامنة. لا تزال بعض الطرق (مثل
desktopCapture.chooseDesktopMedia()
) تتيح استخدام طلبات الاستدعاء فقط
لأنّ مساحات العرض الحالية غير متوافقة مع طلبات الوعد. لا يزال من الممكن استخدام وظائف الاستدعاء من أجل التوافق مع الإصدارات القديمة. إذا عثرت على وعد لا ينجح،
يُرجى إبلاغنا بالخلل.
إرشادات جديدة للتواصل في الوقت الفعلي
لقد نشرنا للتو أدلة حول خيارات الوقت الفعلي في الإضافات. توفّر التحديثات في الوقت الفعلي مسار تواصل فوري من خوادمك مباشرةً إلى عمليات تثبيت الإضافات. بالإضافة إلى ذلك، لدينا إرشادات جديدة لاستخدام chrome.gcm وWeb Push.
إرشادات جديدة ونموذج: اختبار إنهاء عمل الخدمة
لقد نشرنا للتو دليلاً حول كيفية اختبار إنهاء عمل الخدمة باستخدام Puppeteer. يوضّح النموذج المصاحب ذلك في Puppeteer وSelenium.
نموذج معدَّل للرسائل المدمجة
لقد نشرنا للتو نموذجًا معدَّلاً للمراسلة الأصلية. تسمح واجهة برمجة التطبيقات هذه لإضافة Chrome ببدء تطبيق آخر والتواصل معه. نشكر المساهم في GitHub Shubham-Rasal على عمله في هذا الشأن.
الإصدار 121 من Chrome: سمة lastAccessed الجديدة في علامة التبويب tabs.Tab
تمت إضافة سمة جديدة باسم lastAccessed
إلى العنصر tabs.Tab
. يشير هذا السمة إلى وقت تفعيل علامة التبويب آخر مرة. يتم عرض القيمة المعروضة بالمللي ثانية منذ بدء حساب الفترة.
الإصدار 121 من Chrome: إصدار تحذير الآن بشأن مفاتيح "الخلفية" غير المتوافقة
في عملية التغيير من الإصدار 2 من بيان الإضافة إلى الإصدار 3، تم تغيير العناصر الفرعية لمفتاح بيان الإضافة "background"
لاستيعاب استبدال النصوص البرمجية التي تعمل في الخلفية بخدمات إضافة مهام. في السابق، كانت إضافة مفاتيح الإصدار 2 من بيان التطبيق "scripts"
أو "page"
أو "persistent"
إلى مفتاح "background"
في إضافة الإصدار 3 من بيان التطبيق تؤدي إلى ظهور خطأ. يؤدي توفّر هذه المفاتيح الآن إلى ظهور تحذير.
يتم إجراء ذلك لتفعيل استخدام ملف بيان واحد في الإضافات في متصفّحات متعددة، وفقًا لاقتراح في مجموعة المنتدى.
الإصدار 120 من Chrome: تم تقليل الحد الأدنى لدقة التنبيه إلى 30 ثانية
بدءًا من الإصدار 120 من Chrome، يمكن لإضافات ملف البيان بالتنسيق 3 استخدام واجهة برمجة التطبيقات chrome.alarms
مع تأخيرات أو فترات تبلغ 30 ثانية، بدلاً من طلب قيم تبلغ 60 ثانية أو أكثر.
مشاركة مدونة: استئناف عملية الانتقال إلى الإصدار 3 من بيان التطبيق
تم تعديل المخطط الزمني لدعم Manifest V2. يمكنك الاطّلاع على مشاركة المدونة في تشرين الثاني (نوفمبر) 2023 لمعرفة التفاصيل.
مشاركة مدونة: تحسينات على ميزة فلترة المحتوى في Manifest V3
اطّلِع على مشاركة المدوّنة الجديدة لمعرفة كيف حسّنا واجهة برمجة التطبيقات declarativeNetRequest API.
مشاركة مدوّنة: الميزات الجديدة في الإصدار 120 من Chrome لإضافة الإضافات
تم طرح الإصدار التجريبي من Chrome 120 مؤخرًا. للحصول على ملخّص عن التحديثات المهمة ذات الصلة بمطوّري الإضافات، يمكنك الاطّلاع على مقالة المدونة الجديدة: الميزات الجديدة في الإصدار 120 من Chrome للإضافات. يشكّل هذا الإصدار أيضًا إنجازًا كبيرًا، إذ يزيل العنصرَين الأخيرَين (userScripts ومعالج الملفات على ChromeOS) من قائمة الثغرات الحرجة في المنصة.
إشعار مهم: تغيير في طريقة التعامل مع عناوين URL لسياسة الخصوصية في "لوحة بيانات المطوّر"
تتم الآن إضافة سياسات الخصوصية في "لوحة بيانات المطوّر" على مستوى العنصر. يتيح لك ذلك تقديم سياسة خصوصية مختلفة لكل عنصر. يمكنك الاطّلاع على مزيد من المعلومات حول هذا التغيير في PSA.
فيديو: محادثة مع "مات فريسبي"
لقد نشرنا للتو فيديو جديدًا على قناة Chrome للمطوّرين على YouTube نتحدّث فيه مع مات فريسبي، وهو خبير مطوّر في Google ومؤلف. يمكنك مشاهدته هنا.
إرشادات جديدة حول اختبار الإضافات
لقد نشرنا للتو إرشادات جديدة حول كيفية كتابة اختبارات مبرمَجة للإضافات، بما في ذلك كيفية كتابة اختبارات الوحدة وإرشادات عامة ودليل تعليمي حول الاختبار الشامل.
مشاركة مدوّنة: آخر الأخبار عن إضافات Chrome - تشرين الأول (أكتوبر) 2023
لقد نشرنا للتوّ الطبعة الثانية من التغييرات في إضافات Chrome. تتناول المشاركة ما كان يعمل عليه فريق الإضافات خلال الأشهر القليلة الماضية، بما في ذلك معالجة مشاكل استقرار مهام الخدمة وتحقيق تقدّم جيد في سدّ جميع الثغرات في منصة MV3. نشارك أيضًا إصدارات واجهة برمجة التطبيقات القادمة والمشوّقة، مثل Reading List API وUser Scripts API.
زيادة حدود القواعد الثابتة في واجهة برمجة التطبيقات Declarative Net Request API
استنادًا إلى الملاحظات التي تلقّيناها في مجموعة المنتدى المخصّصة لإضافات الويب، سنرفع الحدّ الأقصى المسموح به لعدد القواعد الثابتة المفعّلة من 10 إلى 50. بالإضافة إلى ذلك، سنزيد إجمالي عدد قواعد القواعد الثابتة المسموح بها من 50 إلى 100. تتوفّر هذه الميزة حاليًا في الإصدار Canary.
إرشادات محسّنة حول الرموز البرمجية المستضافة عن بُعد
من متطلبات الإصدار 3 من بيان الإضافة أن لا تستخدم الإضافات رمزًا مُستضافًا عن بُعد. على الرغم من أنّ هذا الإجراء كان جزءًا من دليل نقل البيانات منذ البداية، قرّرنا تحسين الإرشادات المتعلّقة بهذه المشكلة. توفّر هذه الصفحة الآن المزيد من المعلومات، وتوضّح الإجراءات التي لا تزال متاحة في Manifest V3، كما توفّر المزيد من المعلومات حول استراتيجيات الترقية.
هناك إضافة ذات صلة في مقالة تحديد المشاكل المتعلّقة بانتهاك السياسات في "سوق Chrome الإلكتروني" وحلّها. يصف قسم جديد الأسباب الشائعة لرفض الإضافات التي تتضمّن رمزًا مُستضافًا عن بُعد.
الإصدار 118 من Chrome: القيمة التلقائية لسمة isUrlFilterCaseSensitive هي الآن false
بدءًا من الإصدار 118 من Chrome، تم تغيير السمة isUrlFilterCaseSensitive
في واجهة برمجة التطبيقات chrome.declarativeNetRequest
لتكون تلقائيًا false
. إذا أردت الاحتفاظ بالسلوك القديم، يمكنك ضبط isUrlFilterCaseSensitive
على true
في
قواعد declarativeNetRequest.
يأتي ذلك بعد المناقشات في مجموعة تطبيقات Chrome المتوافقة مع WebExtensions Developer Community. سبق أن نفّذ Firefox وSafari تغييرًا مشابهًا.
مستندات حول ملفات تعريف الارتباط وواجهات برمجة التطبيقات لتخزين الويب
لقد نشرنا دليلاً جديدًا حول طريقة عمل واجهات برمجة التطبيقات لملفات تعريف الارتباط ومساحة التخزين على الويب في إضافات Chrome. يتضمّن هذا الإصدار تفاصيل عن التغييرات في ملفات تعريف الارتباط وتقسيم مساحة التخزين في مبادرة حماية الخصوصية، وهو مشروع مستمر لإيقاف ملفات تعريف الارتباط التابعة لجهات خارجية نهائيًا من خلال إنشاء سلسلة من واجهات برمجة تطبيقات لمنصّة الويب الجديدة، وتفاصيل عن كيفية عملها في الإضافات.
أصبحت عيّنات الإضافات قابلة للبحث الآن
لقد أنشأنا مؤخرًا صفحة تتيح لك البحث في نماذج إضافات Chrome. تتضمّن صفحة البحث خيارات متعدّدة. يتيح لك مربّع البحث البحث عن نص في نماذج العناوين. يمكنك حصر عملية البحث حسب الإذن أو واجهة برمجة التطبيقات الخاصة بامتداد. يتيح لك فلتر إضافي حصر البحث في عيّنات واجهة برمجة التطبيقات أو عيّنات الوظائف (حالات الاستخدام).
تم إنشاء نموذج الصفحة الجديد هذا من قِبل أحد المشاركين في برنامج "معسكر برمجة الصيف من Google"، وهو "شيوزهو داي"، الذي ساهم أيضًا في إنشاء العديد من النماذج الجديدة. يمكنك الاطّلاع على تجاربه خلال الصيف الماضي في المشاركة التي نشرها على مدوّنتنا.
كما في السابق، لا تزال عيّنات الرموز البرمجية متاحة على GitHub للاستنساخ أو إنشاء فروع منها.
الإصدار 118 من Chrome: تغييرات على فتح الملف: عناوين URL الخاصة بالمخطط
اعتبارًا من الإصدار 118 من Chrome، ستحتاج الإضافات إلى تفعيل الإعداد "السماح بالوصول إلى عناوين URL الخاصة بالملفات" من صفحة chrome://extensions
لفتح عناوين URL الخاصة بالتنسيق file:// باستخدام واجهات برمجة التطبيقات Tabs أو Windows. يمكنك التحقّق من إمكانية الوصول هذه آليًا من خلال الاتصال chrome.extension.isAllowedFileSchemeAccess()
. يحظّر Firefox حاليًا عناوين URL الخاصة بالملفات، ويتوافق Safari مع التغيير. لمزيد من المعلومات، يُرجى قراءة المشاركة في مجموعة Google المخصّصة للإضافات.
الإصدار 117 من Chrome: توسيع نطاق وسائل حماية عناوين URL في عمليات التنقّل في واجهات برمجة التطبيقات الخاصة بالإضافات
في السابق، كان يتم عرض خطأ في بعض عناوين URL التي تبدأ بـ chrome:// عند استخدام واجهة برمجة تطبيقات الإضافات لبدء عملية التنقّل إلى tabs.update()
وtabs.create()
وwindows.create()
. بالإضافة إلى ذلك، كان يُحظر طلب tabs.update()
باستخدام عنوان URL لبرنامج JavaScript. في الإصدار 117، تم توسيع نطاق هذه الحماية على عناوين URL لبرامج JavaScript ليشمل الطريقة tabs.create()
، كما تمت إضافة عدد من عناوين URL إضافية على chrome:// إلى قائمة عناوين URL المحظورة التي تنطبق على جميع الطرق المذكورة سابقًا.
إرشادات محسّنة لواجهة برمجة التطبيقات declarativeNetRequest API
تحظر واجهة برمجة التطبيقات chrome.declarativeNetRequest
طلبات الشبكة أو تعدّلها من خلال تحديد قواعد وصفية. ويسمح ذلك للإضافات بتعديل طلبات الشبكة بدون اعتراضها وعرض محتواها، ما يمنح المستخدمين المزيد من الخصوصية. ويصعب استخدامها أيضًا. بناءً على ذلك، أعدنا صياغة الإرشادات بطريقة نعتقد أنّها ترسم صورة أوضح عن كيفية تنفيذ قواعد التصفّح الوصفية. يمكنك قراءة القسم الجديد من خلال الرابط أعلاه.
استخدام حسابك على "إحصاءات Google" مع "سوق Chrome الإلكتروني"
يتيح لك "سوق Chrome الإلكتروني" دمج "إحصاءات Google"، ما يتيح لك الاطّلاع على إحصاءات بطاقة بياناتك على "سوق Chrome الإلكتروني" بالإضافة إلى العرض المقدَّم في "لوحة بيانات المطوّر". لمزيد من المعلومات، يُرجى الاطّلاع على مقالة استخدام حسابك على "إحصاءات Google" مع "سوق Chrome الإلكتروني".
الإصدار 115 من Chrome: تتجاهل "أدوات مطوّري البرامج" نصوص المحتوى تلقائيًا
أصبحت نصوص المحتوى البرمجية المُحقَّقة مضمّنة في قائمة "أدوات المطوّرين" للغفلة تلقائيًا. لا يؤثّر ذلك في نقاط التوقف، ولكنّه يعني أنّه سيتمّ تخطّي نصوص برمجية المحتوى أثناء تصحيح الأخطاء، وسيتم تجاهل الاستثناءات من هذه النصوص البرمجية. عندما يكون نص محتوى مفتوحًا في علامة التبويب المصادر، يُرسِل لك بانر تنبيهًا إذا كان هذا الخيار مفعّلاً ويقدّم لك خيارًا لإزالة نص المحتوى من قائمة التجاهل. لإيقاف هذا السلوك، افتح DevTools (أدوات المطوّر)، وانتقِل إلى الإعدادات ثم قائمة التجاهل. لمزيد من المعلومات، يُرجى الاطّلاع على الميزات الجديدة في أدوات المطوّرين.
الإصدار التجريبي من Chrome 116: ميزات أكثر من تلك التي يمكن عرضها هنا
يُعدّ الإصدار 116 من Chrome إصدارًا مهمًا للإضافات. يمكنك الآن فتح اللوحات الجانبية آليًا. تتيح لك طريقة جديدة معرفة ما إذا كان هناك مستند نشط خارج الشاشة. تم إجراء العديد من التحسينات على مهام الخدمة. تم إجراء تحسينات كافية في الإصدار 116 لدرجة أنّنا كتبنا مشاركة مدونة لتوضيحها. أصبح الإصدار 116 من Chrome متاحًا في إصدار تجريبي اعتبارًا من 19 تموز (يوليو).
مشاركة مدوّنة: التغييرات في إضافات Chrome
لقد نشرنا للتو نظرة عامة على التغييرات والتحسينات التي تم إجراؤها على الإضافات هذا العام. تتناول المشاركة الميزات الجديدة المهمة لهذا العام، بما في ذلك واجهة برمجة التطبيقات Side Panel API وتحسينات مهام الخدمة والمستندات التي لا تظهر على الشاشة. ستتعرّف أيضًا على ما نعمل عليه خلال هذا الربع. وتسرد المقالة المزيد من المعلومات، مع روابط تؤدي إلى كلّ منها.
إرشادات جديدة ونموذج جديد: التعرّف على كيفية استخدام "إحصاءات Google 4" في إضافة Chrome
لقد نشرنا إرشادات وعينات جديدة حول "إحصاءات Google" والموقع الجغرافي:
- إصدار معدَّل من إرشادات "إحصاءات Google" يوضّح كيفية استخدام إحصاءات Google 4 في إضافة Chrome أضفنا أيضًا نموذجًا صالحًا لخدمة "إحصاءات Google 4" إلى مستودع نماذج Github. اطّلِع على
google-analytics.js
للحصول على الرمز ذي الصلة بخدمة "إحصاءات Google". - دليل جديد حول الموقع الجغرافي وثلاث نماذج توضّح كيفية الوصول إلى الموقع الجغرافي في مهام الخدمة والنصوص البرمجية للمحتوى والنوافذ المنبثقة والألواح الجانبية
Chrome 115: تحديد أسباب متعدّدة في chrome.offscreen.createDocument()
يمكنك الآن تحديد قوائم أرقام reason
متعددة عند استدعاء chrome.offscreen.createDocument()
. استخدِم هذا الخيار عندما يتم استخدام مستند خارج الشاشة لأغراض متعددة مختلفة. يستخدم المتصفّح الأسباب المقدَّمة لتحديد مدة عرض المستند الذي لا يظهر على الشاشة.
أداة جديدة: أداة اختبار تحديثات الإضافات
لقد طرحنا للتو أداة اختبار تحديثات الإضافات، وهو خادم محلي لتحديثات الإضافات يمكن استخدامه لاختبار تحديثات إضافات Chrome أثناء التطوير على الجهاز، بما في ذلك منح الأذونات. تعرض الأداة مسار المستخدم في عملية التحديث، بما في ذلك إبقاء الإضافة غير مفعّلة إلى أن يمنح المستخدم أي أذونات تم طلبها حديثًا. وتُعدّ هذه الأداة مفيدة بشكل خاص لمحاكاة تغييرات الأذونات المطلوبة عند تحديث إضافة من الإصدار 2 من بيان الإضافة إلى الإصدار 3.
الإصدار 114 من Chrome: واجهة برمجة تطبيقات جديدة لللوحة الجانبية
نقدّم لك Side Panel API الجديدة، وهي واجهة عرض مصاحبة تتيح للمستخدمين الوصول إلى الأدوات بجانب المحتوى الذي يتصفّحونه. لمزيد من المعلومات، يُرجى الانتقال إلى مرجع Side Panel API. بالإضافة إلى ذلك، أضفنا العديد من نماذج اللوحة الجانبية إلى مستودع نماذج GitHub. نشارك أيضًا المزيد من المعلومات حول اللوحات الجانبية في منشور المدونة الجديد تصميم تجربة مستخدم فائقة باستخدام واجهة برمجة التطبيقات الجديدة Side Panel API. تمت أيضًا مراجعة سياسة إرشادات الجودة وأفضل الممارسات لتقديم المزيد من الإرشادات حول إنشاء إضافات عالية الجودة للوحة الجانبية.
ملاحظاتك مهمة في تصميم واجهة برمجة التطبيقات هذه، لذا يُرجى مشاركة أفكارك وطلبات الميزات في chromium-groups. تابِعنا لمعرفة آخر الأخبار بينما نواصل تحسين واجهة Side Panel API.
نماذج جديدة: WASM في الإضافات
يتوفّر نموذجان جديدان يوضّحان كيفية استخدام WASM في إحدى الإضافات:
- يوضّح مقالة استخدام WASM في Manifest V3 الطريقة العامة لتضمين وحدة WASM.
- يوضّح مقالة استخدام WASM كوحدة في Manifest V3 كيفية استخدامه في وحدة.
نشكر بشكل خاص المساهم في GitHub @daidr على هذه النماذج.
إرشادات مُعدَّلة لنقل البيانات إلى الإصدار 3 من بيان التطبيق
لقد عدّلنا قسم المشاكل المعروفة في إرشادات نقل البيانات إلى الإصدار 3 من بيان الإضافة من خلال إضافة قائمة معدَّلة للفجوات في منصّة إضافات Chrome التي ننوي إغلاقها قبل الإعلان عن مخطط زمني جديد لإيقاف الإصدار 2 من بيان الإضافة نهائيًا.
تسجيل الصوت والفيديو باستخدام Manifest V3
لقد نشرنا للتو مقالة جديدة بعنوان تسجيل الصوت وتصوير الشاشة، والتي تتناول تسجيل الصوت أو الفيديو من علامة تبويب أو نافذة أو شاشة في Manifest V3. توضّح هذه المقالة طرقًا متعددة للتسجيل باستخدام واجهة برمجة التطبيقات chrome.tabCapture
والدالة getDisplayMedia()
.
الإصدار 114 من Chrome: زيادة في مساحة التخزين.الحصة المحلية
لقد رفعنا الحصة لموقع storage.local
إلى 10 ميغابايت تقريبًا. تمّ الاتفاق على ذلك في مجموعة منتدى إضافات الويب. يتوافق هذا مع storage.local
مع storage.session
الذي تم تغييره في الإصدار 112 من Chrome.
الدليل التعليمي الجديد لعامل خدمة الإضافة والمساعدة بشأنه
تطبيقات الخدمة هي جزء لا يتجزأ من إضافات Chrome. لقد نشرنا دليلاً تعليميًا يشرح أساسيات التسجيل وتصحيح الأخطاء والتفاعل مع مهام الخدمة. وأضفنا أيضًا دليلاً جديدًا للعامل في الخدمة يشرح المفاهيم المهمة بمزيد من التفصيل. وسنوسّع نطاق هذا القسم في الأشهر المقبلة.
مزيد من النصائح حول تحديد المشاكل وحلّها في ما يتعلّق بانتهاكات "متجر الويب"
للمساعدة في نشر التطبيقات على "سوق Chrome الإلكتروني"، أضفنا إرشادات جديدة في مجالَين. تركّز إرشادات الحد الأدنى من الوظائف على توفير مزايا للمستخدمين وإثراء تجربة التصفّح. تدور إرشادات الإعلانات التابعة حول إطلاع المستخدمين على الإضافات التي تستخدم روابط أو رموزًا للإعلانات التابعة لتحقيق الربح، ومنحهم قدرًا من التحكّم من خلال طلب إجراء من المستخدم قبل تضمين الإعلانات.
تعليمات جديدة حول أداة تحويل ملف بيان إضافة Chrome
لقد أعدنا كتابة ملف README الخاص بأداة محوِّل بيان الملحقات لتسهيل معرفة الإجراءات التي يجب اتّخاذها بعد تشغيل الأداة. يساعد هذا المحوِّل في نقل الإضافات التي تم إنشاؤها باستخدام الإصدار 2 من بيان الإضافات إلى الإصدار 3. يصف ملف README الجديد ما تفعله الأداة باستخدام كلمات تتطابق تقريبًا مع تلك الواردة في قائمة التحقّق في دليل نقل البيانات. لا يُجري المحوِّل كل المهام، ولكنه يزيل العديد من المهام التي لا تتطلّب تقييمًا بشريًا.
الإصدار 113 من Chrome: أسباب جديدة لعرض المستندات خارج الشاشة
أضفنا نوعَين جديدَين من الأسباب إلى Offscreen Documents API. استخدِم LOCAL_STORAGE
للوصول إلى واجهة برمجة التطبيقات localStorage لمنصّة الويب. استخدِم WORKER
عند إنشاء عمال الويب.
توفّر "إحصاءات Google 4" الآن في "لوحة بيانات المطوّر"
تتيح الآن "لوحة بيانات المطوّر في سوق Chrome الإلكتروني" استخدام "إحصاءات Google 4". لقد بسّطنا عملية إعداد "إحصاءات Google" وسهّلنا إدارة أذونات الوصول للناشرين في المجموعات. إذا كنت قد استخدمت منصة Universal Analytics من Google سابقًا لتتبُّع نشاط بطاقة بيانات المتجر، عليك اتّخاذ إجراء بحلول 1 تموز (يوليو) 2023 لضمان مواصلة تلقّي بيانات عن بطاقة بيانات المتجر. لمزيد من المعلومات، يُرجى الاطّلاع على المشاركة في مجموعة Google الخاصة بإضافات Chromium.
توفُّر واجهة برمجة التطبيقات File Handling API في ChromeOS
تتوفّر واجهة برمجة التطبيقات File Handler API للتجربة على ChromeOS في الإصدارَين 112 و113 من Canary. ويسمح هذا الإذن للإضافات على نظام التشغيل ChromeOS بفتح الملفات باستخدام أنواع MIME وامتدادات ملفات محدّدة. لتنفيذ معالجة الملفات، أضِف مجموعة من القواعد إلى manifest.json
. تعمل هذه الميزة بالطريقة نفسها التي تعمل بها تطبيقات الويب التقدّمية. لمزيد من المعلومات، يُرجى الاطّلاع على المقالة في مكان آخر على هذا الموقع الإلكتروني.
لتفعيل معالجة الملفات:
- بدءًا من الإصدار 112، يمكنك تشغيل Chrome باستخدام الخيار
--enable-features=ExtensionWebFileHandlers
. - بدءًا من الإصدار 113، الصق
os://flags/#extension-web-file-handlers
في مربّع التصفّح الشامل في Chrome واختَر "مفعّل" من القائمة المنسدلة.
نأمل إطلاق هذه الميزة في الإصدار 115 من Chrome في أواخر شهر حزيران (يونيو). يُرجى متابعتنا للحصول على آخر الأخبار.
نماذج جديدة: البيانات الديناميكية والحقن الآلي
لقد أنشأنا نموذجًا جديدًا لواجهة برمجة التطبيقات chrome.scripting
. ويوضّح هذا الفيديو البيانات الديناميكية، حيث يتم تسجيل نص برمجي للمحتوى أثناء التشغيل، والحقن الآلي، حيث يتم تنفيذ نص برمجي في علامة تبويب مفتوحة.
نماذج جديدة: حالات استخدام طلب الشبكة التعريفي
تتوفّر ثلاثة نماذج جديدة توضّح Declarative Net Request API. ويوضّح كلّ منها تنفيذ حالة استخدام واحدة. يوضّح القسم الأول كيفية حظر ملفات تعريف الارتباط. يوضّح العنوانان المتبقّيان حظر عناوين URL وإعادة توجيهها.
Chrome 112: زيادة حصة مساحة التخزين لكل جلسة
اعتبارًا من الإصدار 112 من Chrome، تمّت زيادة الحصة لموقع storage.session
إلى 10 ميغابايت تقريبًا. تم الاتفاق على ذلك في مجموعة Web Extensions Community Group: https://github.com/w3c/webextensions/issues/350
الإصدار 109 من Chrome: عرض المستندات خارج الشاشة
أصبحت المستندات التي لا تظهر على الشاشة متاحة الآن في إضافات Manifest V3. وتساعد هذه الميزات في الانتقال من الصفحات التي تعمل في الخلفية إلى مشغّلات خدمات الإضافات من خلال توفير دعم لميزات وواجهات برمجة تطبيقات ذات صلة بـ DOM. لمزيد من المعلومات، يمكنك قراءة مشاركة المدونة.
Chrome 110: هل تم تفعيل إحدى الإضافات؟
تتحقّق الطريقة chrome.action.isEnabled()
آليًا ممّا إذا تم تفعيل إضافة لعلامة تبويب معيّنة. ويساعدك ذلك في الحفاظ على حالة تفعيل علامات التبويب. تأخذ هذه الطريقة الجديدة معرّف علامة تبويب وإشارة إلى دالة استدعاء وتُعرِض قيمة منطقية. هناك قيد واحد: علامات التبويب التي تم إنشاؤها باستخدام chrome.declarativeContent
تعرِض دائمًا قيمة خاطئة.
(تمّت إضافة طرق جديدة مؤخرًا إلى مساحة الاسم chrome.action
للتحكّم في مظهر شارات الإضافات. لمزيد من المعلومات، يُرجى الاطّلاع على ضبط ألوان الشارة.)
الإصدار 110 من Chrome: تغيير في مهلة الخمول لعامل الخدمة
في السابق، كان يتم إيقاف مشغّل خدمات الإضافات بشكل متكرّر بعد مرور خمس دقائق. لقد غيّرنا هذا السلوك ليشبه بشكل أكبر مدة عمل الخدمة على الويب. سيتم إيقاف عامل خدمة إضافة بعد مرور ثلاثين ثانية من عدم النشاط أو إذا استغرق معالجة نشاط واحد أكثر من 5 دقائق. لمزيد من المعلومات، يُرجى الاطّلاع على زيادة مدة عمل وحدات عمل خدمة الإضافات.
مشاركة: إيقاف نهائي مؤقت لميزة "بيان الإضافة" (Manifest V2)
تخضع الجداول الزمنية لإيقاف Manifest V2 نهائيًا للمراجعة، ويتم تأجيل التجارب المُجدوَلة في أوائل عام 2023. لمزيد من المعلومات، يُرجى قراءة التعديل في مجموعة chromium-extensions على Google.
الإصدار 110 من Chrome: ضبط ألوان الشارة
تتضمّن مساحة الاسم chrome.action
طريقتَين جديدتَين لمنحك مزيدًا من التحكّم في شارات إضافة المظهر. تسمح الطريقتان setBadgeTextColor()
وgetBadgeTextColor()
للإضافة بتغيير لون نص الشارة في رمز شريط الأدوات وإجراء طلب بحث عنه. عند استخدام هاتين الطريقتَين الجديدتَين مع setBadgeBackgroundColor
وgetBadgeBackgroundColor
، يمكنك فرض اتساق التصميم والعلامة التجارية.
مقالة مدونة: مزيد من التفاصيل حول الانتقال إلى Manifest V3
لقد أوضحنا المخطط الزمني لإيقاف الإصدار 2 من بيان الإضافة نهائيًا. تم أيضًا تعديل المخطط الزمني لدعم Manifest V2 ليعكس هذه المعلومات.
تحديث بشأن "مستندات Google": مشاكل معروفة عند نقل البيانات إلى Manifest V3
لقد جمعنا قائمة بالميزات الرئيسية قيد التطوير حاليًا والأخطاء المفتوحة. ونهدف من خلال هذه الصفحة إلى مساعدة المطوّرين في فهم الحالة الحالية للمنصة بشكل أفضل والميزات التي يمكنهم استهدافها أثناء استعدادهم للمستقبل.
"سوق Chrome الإلكتروني": إزالة ميزة تحميل صورة "لوحة العرض الترويجية الكبيرة"
أزالت خدمة "سوق Chrome الإلكتروني" واجهة مستخدم تحميل "الشريط الترويجي الكبير" من علامة التبويب "بطاقة بيانات المتجر" للعنصر في لوحة بيانات المطوّر. لا يؤثر هذا التغيير في تجربة المستخدم النهائي لأنّه لم يتم استخدام هذه الصور في واجهة مستخدِم المستهلِك. اطّلِع على مشاركة إضافية حول إضافات Chromium للحصول على تفاصيل إضافية.
الإصدار 106 من Chrome: السماح للصفحات على عناوين URL التي تبدأ بـ file:// بالوصول إلى الموارد التي يمكن الوصول إليها على الويب
وفقًا لموقع crbug.com/1219825#c11، من المفترض أن تتمكّن أيضًا المصادر غير الشفافة، مثل إطارات iframe في وضع الحماية وعمليات الاستيراد الديناميكي، من الوصول إلى الموارد التي يمكن الوصول إليها على الويب.
الإصدار 106 من Chrome: تم إصلاح خطأ يسمح بتقديم وسيطات نهائية غير صحيحة في بعض وظائف واجهة برمجة التطبيقات غير المتزامنة
في السابق، كان بإمكان البيان في الإصدار 3 من البيان استدعاء واجهات برمجة التطبيقات غير المتزامنة وتقديم مَعلمة نهائية غير صالحة بدون أن يُظهر Chrome أي خطأ. بعد تطبيق هذا الإصلاح، سيعرض Chrome الآن رسالة الخطأ الصحيحة ويُبلغ عن عدم توفّر توقيع مطابق. ننصح المطوّرين بالتحقّق من إضافاتهم على الإصدار Canary بحثًا عن أي أخطاء في حال استخدامهم عن طريق الخطأ توقيعًا غير صحيح لطلب بيانات من واجهة برمجة التطبيقات سيؤدي إلى إيقاف هذا الإصلاح للخطأ.
مشاركة مدوّنة: إعادة تنظيم إحصاءات "سوق Chrome الإلكتروني"
تمّت إعادة تصميم تجربة إحصاءات المنتجات في "سوق Chrome الإلكتروني" ضمن "لوحة بيانات المطوّر في سوق Chrome الإلكتروني". لوحة البيانات الجديدة أسهل في الفهم بنظرة سريعة، وهي تُجمِّع المعلومات الأكثر فائدة في المقدّمة. اطّلِع على مشاركة المدونة للحصول على مزيد من المعلومات.
الإصدار 105 من Chrome: ميزات مُهمّة في Identity API
تتيح الدوالّ في Identity API الآن
طلبات البيانات المستندة إلى الوعد. يتزامن ذلك مع تغيير طفيف في سطح identity.getAuthToken()
، حيث سيحتوي الردّ المتزامن الذي تم ضبطه على طلب مستند إلى الوعد على "الرمز المميّز" و "النطاقات الممنوحة" كمَعلمتَين في عنصر واحد (على عكس إصدار الردّ الذي يتلقّى هاتين المَعلمتَين كوسيطات منفصلة للردّ).
الإصدار 104 من Chrome: واجهة برمجة تطبيقات جديدة لرمز المعجبين في الإصدار 3 من Manifest
يمكن الآن لإضافات Manifest V3 الوصول إلى رموز التطبيقات المصغّرة باستخدام نمط عنوان URL جديد: chrome-extension://<id>/_favicon/
، حيث يكون chrome://favicons
في منصة Manifest V2. اطّلِع على مستندات Favicon API للحصول على مزيد من المعلومات.
تعديل على المستندات: بيان الإفصاح عن المطوّر التاجر/غير التاجر
تمت إضافة معرّف المطوّر التاجر/غير التاجر الذي يُعلم المطوّرين بضرورة تقديم إقرار ذاتي دقيق بشأن حالتهم.
الإصدار 103 من Chrome: تتطلب علامة Wasm في Manifest V3 استخدام wasm-unsafe-eval
لم يعُد Chrome يمنح الإضافات الإذن script-src: wasm-unsafe-eval
تلقائيًا. على الإضافات التي تستخدم
WebAssembly إضافة هذا التوجيه والقيمة إلى extension_pages
في ملفَّات تعريف
content_security_policy
بشكل صريح.
الإصدار 103 من Chrome: سريان تغييرات اختصارات MV3 على الفور
عند تغيير اختصار لوحة المفاتيح لإضافة Manifest V3 على chrome://extensions/shortcuts
،
يتم الآن تطبيق التعديلات على الفور. في السابق، كان يجب إعادة تحميل الإضافة قبل أن يتم تطبيق
التغيير.
الإصدار 102 من Chrome: نصوص المحتوى البرمجية الديناميكية في العالم الرئيسي
يمكن الآن لنصوص المحتوى المسجّلة ديناميكيًا تحديد
العالم الذي سيتم إدراج مواد العرض فيه. يُرجى الاطّلاع على
scripting.registerContentScripts()
للحصول على التفاصيل.
الإصدار 102 من Chrome: حقل البيان الجديد "optional_host_permissions"
يمكن الآن لإضافات الإصدار 3 من بيان الإضافات تحديد مفتاح optional_host_permissions
في ملف manifest.json. يتيح ذلك
لإضافات Manifest V3 الإفصاح عن أنماط مطابقة اختيارية للمضيفين تمامًا كما يمكن لإضافات Manifest V2
استخدام المفتاح optional_permissions
.
الإصدار 102 من Chrome: السمة injectImmediately في scripting.executeScript()
تقبل chrome.scripting.executeScript()
الآن سمة injectImmediately
اختيارية في الوسيطة
injection
. في حال توفّر القيمة وضبطها على true، سيتم إدراج النص البرمجي في الهدف في أقرب وقت ممكن، بدلاً من الانتظار إلى أن يتم استيفاء document_idle
. يُرجى العِلم أنّ هذا لا يضمن أن يتم برمجة النص قبل تحميل الصفحة لأنّ الصفحة تستمر في التحميل أثناء إجراء طلب البيانات من واجهة برمجة التطبيقات.
الإصدار 102 من Chrome: إتاحة واجهة برمجة التطبيقات Omnibox API في الإصدار 3 من Manifest
يمكن الآن استخدام Omnibox API في الإضافة المبنية على الخدمة العاملة. في السابق، كانت بعض طُرق واجهة برمجة التطبيقات هذه تُعرِض خطأ عند الاستدعاء بسبب الاعتمادات الداخلية على إمكانات DOM.
الإصدار 102 من Chrome: السماح باستخدام wasm-unsafe-eval في سياسة "إدارة الخدمات في المحتوى" (CSP) للإصدار 3 من ملف البيان
يمكن الآن أن تتضمّن إضافات Manifest V3 wasm-unsafe-eval
في content_security_policy
بياناتها. يتيح هذا التغيير لإضافات Manifest V3 استخدام WebAssembly.
الإصدار 102 من Chrome: واجهة برمجة تطبيقات storage.session الجديدة
يمكن الآن لإضافات Manifest V3 استخدام storage.session في تخزين الذاكرة .
تحديث في "مستندات Google": ميزة اكتشاف العناصر في "سوق Chrome الإلكتروني"
تقدّم صفحة الاكتشاف في "سوق Chrome الإلكتروني" نظرة عامة على كيفية عثور المستخدمين على التطبيقات في "سوق Chrome الإلكتروني" وكيفية اختيار المحرّرين للتطبيقات التي سيتم عرضها.
Chrome 101: شروط نطاق declarativeNetRequest المحسّنة
تم تعديل شروط قاعدة declarativeNetRequest
للسماح للإضافات باستهداف الطلبات بشكل أفضل استنادًا إلى النطاقَين "request" و
"initiator" للطلب. سمات الحالة ذات الصلة هي initiatorDomains
،
excludedInitiatorDomains
، وrequestDomains
، وexcludedRequestDomains
. يمكنك أيضًا الاطّلاع على
سلسلة محادثات الإضافات في Chromium.
الإصدار 100 من Chrome: تم حلّ مشكلة متعلقة بـ scripting.executeScript() في علامات التبويب التي تم إنشاؤها حديثًا
تم إصلاح مشكلة قديمة تتمثل في تعذُّر استخدام الرمز scripting.executeScript()
في علامة تبويب أو
نافذة تم إنشاؤها حديثًا.
الإصدار 100 من Chrome: منفذ المراسلة الأصلي يحافظ على تشغيل الخدمة
من المفترض أن يؤدي الاتصال بمضيف المراسلة الأصلي باستخدام chrome.runtime.connectNative()
في
عامل الخدمة الخاص باإضافة إلى إبقاء عامل الخدمة نشطًا ما دام المنفذ مفتوحًا.
الإصدار 100 من Chrome: توفُّر دالة omnibox.setDefaultSuggestion() لطلبات الوعد ووظائف الاستدعاء
تُرجِع الطريقة
omnibox.setDefaultSuggestion()
الآن وعدًا أو تقبل طلب استدعاء للسماح للمطوّرين بتحديد الحالات التي تم فيها ضبط
الاقتراح بشكل صحيح.
الإصدار 100 من Chrome: إتاحة دالة i18n.getMessage() في مهام الخدمة لإضافة الخدمة
أصبحت واجهة برمجة التطبيقات chrome.i18n.getMessage()
متوفرة الآن
في سياقات عامل الخدمة لإضافة خدمة.
الإصدار 99 من Chrome: match_origin_as_fallback في Canary
يمكن الآن للنصوص البرمجية للمحتوى تحديد مفتاح match_origin_as_fallback
لإدراجه في الإطارات التي تتعلّق بإطار مطابق، بما في ذلك الإطارات التي تحتوي على عناوين URL about:
وdata:
وblob:
وfilesystem:
. اطّلِع على مستندات النصوص البرمجية للمحتوى
لمعرفة التفاصيل.
الإصدار 99 من Chrome: إتاحة وظائف Worker في الإضافات لتنسيقات file: في الإصدار Canary
يمكن الآن لإضافات Manifest V2 وManifest V3 المستندة إلى مهام الخدمة استخدام واجهة برمجة التطبيقات Fetch API لطلب عناوين URL ذات المخطط file:
. ولا يزال الوصول إلى عناوين URL ذات المخطط file:
يتطلّب من المستخدم تفعيل "السماح بالوصول
إلى عناوين URL الخاصة بالملفات" للإضافة في صفحة chrome://extensions
.
الإصدار 99 من Chrome: إتاحة واجهات برمجة التطبيقات للمراسلة في الإصدار Canary
تمت إضافة ميزة "الوعد" إلى
tabs.sendMessage
و
runtime.sendMessage
و
runtime.sendNativeMessage
للإضافات التي تم إنشاؤها باستخدام الإصدار Manifest V3.
تعديل على المستندات: مستندات مراجعة "سوق Chrome الإلكتروني"
تمت إضافة صفحة مرجعية جديدة تقدّم نظرة عامة على عملية المراجعة في "سوق Chrome الإلكتروني" وتفسّر كيفية تنفيذ سياسة المطوّرين.
الإصدار 98 من Chrome: قبول وظائف scripting.executeScript() وscripting.insertCSS() لملفات متعددة
تقبل الآن الطريقتان executeScript()
وinsertCSS()
في واجهة برمجة التطبيقات Scripting API
ملفات متعددة. في السابق، كانت هذه الطرق تتطلّب صفيفًا يتضمّن إدخال ملف واحدًا.
تحديث بشأن "مستندات Google": تعديلات على خطوات تحديد وحلّ المشاكل المتعلّقة بانتهاكات سياسة المراجعة
تم تعديل صفحة تحديد المشاكل المتعلّقة بانتهاك السياسات في "سوق Chrome الإلكتروني" وحلّها لتوفير إرشادات أكثر تفصيلاً للمطوّرين حول الأسباب الشائعة للرفض.
الإصدار 96 من Chrome: توسيع نطاق توفّر ميزة "الوعد" ليشمل 27 واجهة برمجة تطبيقات إضافية
يتضمّن هذا الإصدار عددًا أكبر بكثير من التحديثات الواعدة مقارنةً بأي إصدار سابق. تشمل التعديلات واجهات برمجة التطبيقات العامة وتلك الخاصة بإضافات ChromeOS. وسِّع الأقسام التالية للاطّلاع على التفاصيل.
واجهات برمجة التطبيقات الخاصة بالإضافات
تتيح الآن بعض واجهات برمجة التطبيقات استخدام الوعود في Manifest V3.
chrome.browsingData
chrome.commands
chrome.contentSettings
chrome.debugger
chrome.downloads
chrome.enterprise.hardwarePlatform
chrome.fontSettings
chrome.history
chrome.instanceID
chrome.permissions
chrome.processes
chrome.search
chrome.sessions
chrome.topSites
بالإضافة إلى ذلك، أصبحت واجهات برمجة التطبيقات التي تستخدِم النموذج الأولي ChromeSetting
توفّر الآن أيضًا الوعود. تتأثّر واجهات برمجة التطبيقات التالية بهذا التغيير.
واجهات برمجة تطبيقات ChromeOS
chrome.certificateProvider
chrome.documentScan
chrome.enterprise.deviceAttributes
chrome.enterprise.networkingAttributes
chrome.fileBrowserHandler
chrome.fileSystemProvider
chrome.loginState
chrome.printingMetrics
chrome.wallpaper
الإصدار 96 من Chrome: نصوص المحتوى البرمجية الديناميكية
تتيح واجهة برمجة التطبيقات chrome.scripting
الآن
التسجيل،
التحديث،
إلغاء التسجيل، والحصول على قائمة بالنصوص البرمجية للمحتوى
في وقت التشغيل. في السابق، كان لا يمكن الإعلان عن نصوص برمجة المحتوى إلا بشكل ثابت فيملف ملف .json في البيان الخاص باإضافة أو إدخالها آليًا أثناء التشغيل باستخدام chrome.scripting.executeScript()
.
تعديل على المستندات: المخطط الزمني لدعم الإصدار 2 من بيان التطبيق
تم الإعلان عن المخطط الزمني لعملية النقل من Manifest V2 إلى V3 في مشاركة المدوّنة هذه، وتم نشر صفحة مخطط زمني أكثر تفصيلاً.
الإصدار 96 من Chrome: إذن declarativeNetRequestWithHostAccess
يسمح إذن declarativeNetRequestWithHostAccess
الجديد للإضافات باستخدام واجهة برمجة التطبيقات
chrome.declarativeNetRequest
على المواقع الإلكترونية التي
تمتلك الإضافة أذونات مضيف لها. يتيح ذلك أيضًا الإضافات الحالية من الإصدار 2 من بيان الإضافة التي تستخدم
webRequest
وwebRequestBlocking
وأذونات المضيف الخاصة بالموقع الإلكتروني لنقل البيانات إلى واجهة برمجة التطبيقات
chrome.declarativeNetRequest
بدون
طلب موافقة المستخدم على الأذونات الجديدة.
الإصدار 95 من Chrome: حقن النصوص البرمجية مباشرةً في الصفحات
يمكن الآن لطريقة executeScript()
في واجهة برمجة التطبيقات chrome.scripting
حقن النصوص البرمجية مباشرةً في العالم الرئيسي للصفحة. في السابق، كان بإمكان الإضافات حقن المحتوى مباشرةً
في عالم الإضافة المعزول. لمزيد من المعلومات عن العوالم المنعزلة، اطّلِع على المستندات المتعلقة
بـ النصوص البرمجية للمحتوى.
الإصدار 95 من Chrome: وعد بتوفير واجهة برمجة التطبيقات Storage API
أصبحت الطرق في الإصدار Manifest V3 من واجهة برمجة التطبيقات chrome.storage
تعرض الآن وعدًا.
تعديل على السياسة: فرض ميزة "التحقّق بخطوتين"
تم تعديل مقالة المدونة حول تعديل السياسة التي تم نشرها في 29 حزيران (يونيو) 2021 لتصحيح المخطط الزمني لنشر ميزة "التحقّق بخطوتين".
الإصدار 94 من Chrome: تغييرات في القواعد الثابتة لطلبات الشبكة التعريفية
يتيح chrome.declarativeNetRequest
الآن تحديد ما يصل إلى 50 مجموعة قواعد ثابتة
(MAX_NUMBER_OF_STATIC_RULESETS)
وتفعيل ما يصل إلى 10 مجموعات قواعد
(MAX_NUMBER_OF_ENABLED_STATIC_RULESETS)
في المرة الواحدة.
الإصدار 93 من Chrome: إتاحة ميزة العزل المشترك المصدر
يمكن الآن تفعيل ميزة عزل مصادر البيانات المختلفة في كلّ من الإصدار 2 من بيان الإضافات والإصدار 3 من بيان الإضافات. تحدّ هذه الميزة من موارد
المواقع الإلكترونية المختلفة التي يمكنها تحميل صفحات إحدى الإضافات، كما تتيح استخدام ميزات منخفضة المستوى لمنصّة الويب، مثل
SharedArrayBuffer
. سيكون تفعيل هذه الميزة مطلوبًا اعتبارًا من الإصدار 95 من Chrome.
تعديل على السياسة: تم تعديل سياسات المطوّرين
تم تعديل سياسات المطوّرين في "سوق Chrome الإلكتروني"، مع تقديم توضيحات حول أساليب التثبيت المخادعة والمحتوى غير المرغوب فيه والمحتوى المتكرّر. يتضمّن هذا التعديل أيضًا شرطًا جديدًا يقضي بتأكيد الهوية بخطوتين للنشر على "سوق Chrome الإلكتروني". اطّلِع على مشاركة المدونة للحصول على مزيد من المعلومات.
مشاركة مدونة: إجراءات الإضافات في الإصدار 3 من بيان الإضافات
كانت إضافات Chrome تستخدم واجهات برمجة التطبيقات chrome.browserAction
وchrome.pageActions
لعدة سنوات، ولكنّ الإصدار 3 من Manifest
استبدل كليهما بواجهة برمجة تطبيقات عامة chrome.actions
. يتناول هذا
الموضوع تاريخ واجهات برمجة التطبيقات هذه والتغييرات التي طرأت على Manifest V3. قراءة المشاركة
مشاركة مدونة: تقديم chrome.scripting
chrome.scripting
API هي واجهة برمجة تطبيقات جديدة لـ Manifest V3 تركّز
على النصوص البرمجية. في هذا المنشور، نتناول الدوافع وراء هذا التغيير ونلقي نظرة فاحصة على ميزاته الجديدة. قراءة المشاركة
الإصدار 92 من Chrome: إتاحة وظائف وحدة الخدمة
يتيح Chrome الآن استخدام وحدات JavaScript في مهام الخدمة. لتحديد وحدة في بيان التطبيق:
"background": {
"service_worker": "script.js",
"type": "module"
}
يؤدي ذلك إلى تحميل نص العامل كوحدة ES، ما يتيح لك استخدام الكلمة الرئيسية import
في
نص العامل لاستيراد وحدات أخرى.
الإصدار 91 من Chrome: chrome.action.getUserSettings()
تسمح الطريقة الجديدة
chrome.action.getUserSettings()
للإضافات بتحديد ما إذا كان المستخدم قد ثبَّت الإضافة على شريط الأدوات الرئيسي.
Chrome 90: chrome.scripting.removeCSS()
تسمح الطريقة الجديدة chrome.scripting.removeCSS()
للملحقات بإزالة ملف CSS الذي تم إدراجه سابقًا من خلال
chrome.scripting.insertCSS()
. ويحلّ محلّ chrome.tabs.removeCSS()
.
الإصدار 90 من Chrome: عرض الوعود من scripting.executeScript()
تتيح منصة chrome.scripting.executeScript()
الآن
العودة إلى المحتوى. إذا كانت القيمة الناتجة عن تنفيذ النص البرمجي هي وعد، سينتظر Chrome
إلى أن يتم تنفيذ الوعد ويعرض القيمة الناتجة عنه.
الإصدار 90 من Chrome: تتضمّن نتائج chrome.scripting.executeScript() () frameId
تتضمّن النتائج التي يتم عرضها من
chrome.scripting.executeScript()
الآن frameId.
يشير سمة frameId
إلى اللقطة التي تأتي منها النتيجة، ما يتيح للإضافات ربط النتائج بسهولة باللقطات الفردية عند الحقن في لقطات متعددة.
الإصدار 89 من Chrome: واجهة برمجة تطبيقات جديدة لإدارة مجموعات علامات التبويب
تتيح واجهة برمجة التطبيقات الجديدة chrome.tabGroups
والإمكانات الجديدة في
chrome.tabs
للإضافات قراءة مجموعات علامات التبويب ومعالجتها.
يتطلب استخدام الإصدار 3 من بيان التطبيق.
الإصدار 89 من Chrome: أذونات قابلة للتخصيص للموارد التي يمكن الوصول إليها من الويب
تم تغيير تعريفات الموارد التي يمكن الوصول إليها من الويب في الإصدار 3 من بيان الإضافة للسماح للإضافات بحظر الوصول إلى الموارد استنادًا إلى مصدر مقدم الطلب أو رقم تعريف الإضافة.
مشاركة مدونة: أداة تحويل ملفات بيان الإضافات
أتاح فريق الإضافات في Chrome أداة "محوِّل ملف بيان الإضافة" المفتوح المصدر، وهي أداة Python تُبرمِج تلقائيًا بعض الجوانب الميكانيكية لتحويل الإضافات إلى ملف بيان الإضافة بالتنسيق 3. يمكنك الاطّلاع على مشاركة المدونة التي تتضمّن الإشعار والحصول على الإصدار من GitHub.
الإصدار 88 من Chrome: توفّر الإصدار 3 من بيان التطبيق للجمهور العام
يُعدّ الإصدار 3 من بيان الإضافات تحديثًا رئيسيًا لمنصّة الإضافات. اطّلِع على نظرة عامة على الإصدار 3 من بيان الإضافات للحصول على ملخّص للميزات الجديدة والمتغيرة. قد تستمر الإضافات في استخدام الإصدار 2 من بيان الإضافة في الوقت الحالي، ولكن سيتم إيقاف هذا الإصدار نهائيًا في المستقبل القريب. ننصحك بشدة باستخدام Manifest V3 لأي إضافات جديدة، والبدء في نقل بيانات الإضافات الحالية إلى Manifest V3 في أقرب وقت ممكن.