کروم ۱۲۰ اکنون در نسخه بتا در دسترس است و شامل بهروزرسانیهای هیجانانگیز زیادی برای توسعهدهندگان افزونههای کروم است.
امسال، سال پرمشغلهای برای تیم افزونههای کروم بوده است. با انتشار نسخه بتای کروم ۱۲۰ که دیروز منتشر شد، پلتفرم افزونهها گام بزرگ دیگری به جلو برمیدارد. برای مرور کلی بر اتفاقات امسال، بهروزرسانیهای سهماهه ما از ماه جولای و اکتبر را بررسی کنید. برای اطلاع از جدیدترین تغییرات افزونهها در کروم ۱۲۰، ادامه مطلب را بخوانید.
پر کردن شکاف پلتفرم
با انتشار کروم ۱۲۰، ما شکافهای پلتفرم باقیمانده که در صفحه مشکلات شناختهشده Manifest V3 فهرست شدهاند را برطرف خواهیم کرد. رابط برنامهنویسی کاربردی جدید userScript و همچنین پشتیبانی از مدیریت فایل در ChromeOS دو مورد باقیمانده در فهرستی هستند که اکنون میتوانیم از آنها عبور کنیم. همراه با تغییراتی که در بهروزرسانی سهماهه قبلی شرح داده شد، ما واقعاً از وضعیت فعلی پلتفرم افزونههای کروم و آنچه در طول سال گذشته انجام دادهایم، راضی هستیم.
رابط برنامهنویسی کاربردی جدید userScripts
پشتیبانی از اسکریپتهای کاربری از راه رسید! اسکریپتهای کاربری، قطعات کدی (معمولاً نسبتاً کوچک) هستند که افزونهها میتوانند به صفحات وب تزریق کنند تا ظاهر یا رفتار صفحه را تغییر دهند. آنها میتوانند مستقیماً توسط کاربر ایجاد شوند یا در تعدادی از مخازن مختلف اسکریپتهای کاربری در سراسر وب یافت شوند. از نسخه 120 مانیفست کروم نسخه 3، افزونهها اکنون میتوانند مجموعه اسکریپتهای کاربری را مدیریت کرده و زمان و نحوه تزریق آنها را در صفحات وب تعیین کنند.
یک تفاوت قابل توجه بین پشتیبانی از اسکریپت کاربر در Manifest V2 و Manifest V3 وجود دارد. از آنجایی که اسکریپتهای کاربر قدرتمند هستند و نیاز به اعتماد بالا به نویسنده اسکریپت کاربر دارند، تیم کروم تصمیم گرفت که کاربران قبل از اجرای یک اسکریپت کاربر، باید در حالت توسعهدهنده (Developer mode) قرار بگیرند.

نمونه جدید userScript ما یک رویکرد ساده برای تشخیص فعال بودن حالت توسعهدهنده و ارائه یک جریان ساده برای شروع به کار را نشان میدهد.

برای شروع، مستندات را بررسی کنید یا به نمونه رسمی نگاهی بیندازید.
محدودیتهای بالاتر در مجموعه قوانین DNR استاتیک
ما محدودیت مجموعه قوانین استاتیک فعال را به طور قابل توجهی از 10 به 50 افزایش دادیم. علاوه بر این، تعداد کل مجموعه قوانین استاتیک مجاز را از 50 به 100 افزایش دادیم. این در پاسخ به بازخوردی است که در گروه انجمن افزونههای وب دریافت کردیم.
API جدید لیست مطالعه
کروم فهرست مطالعه را در سال ۲۰۲۱ معرفی کرد. سال گذشته، تیم کروم دسترسی به فهرست مطالعه را از طریق پنل کناری حتی آسانتر کرد. با کروم ۱۲۰، ما قابلیتی را برای افزونههای کروم اضافه میکنیم تا ورودیهای فهرست مطالعه را ایجاد، مطالعه، بهروزرسانی و حذف کنند. برای کسب اطلاعات بیشتر، مستندات API و نمونه جدید ما را بررسی کنید.

مدیریت فایلها در ChromeOS
مدیریت فایل به افزونهها اجازه میدهد فایلهایی با انواع MIME و پسوندهای فایل مشخص را به روشی مشابه مدیریت فایل پلتفرم وب باز کنند. برای اطلاعات بیشتر در مورد نحوه استفاده از آن ، مدیریت فایل در ChromeOS را بررسی کنید.

فعال کردن زنگ هشدار در 30 ثانیه
این یک بهروزرسانی کوچک است، اما شکاف مهمی را در چرخه حیات سرویس ورکرها برطرف میکند. با توجه به ماهیت رویدادمحور سرویس ورکرها، روش پیشنهادی برای اجرای یک رویداد در آینده استفاده از chrome.alarms است. API هشدارها تضمین میکند که حتی اگر سرویس ورکرها در این حین خاموش شوند، رویداد اجرا میشود.
البته یک نکته وجود دارد. قبل از کروم ۱۲۰، کوتاهترین زمان برای فعال کردن یک آلارم یک دقیقه بود. با این حال، سرویس ورکرها پس از ۳۰ ثانیه عدم فعالیت خاموش میشدند. بنابراین هیچ راه سرراستی برای زمانبندی فعال شدن آلارم در ۴۵ ثانیه وجود نداشت، زیرا هنگام استفاده از setTimeout() برای تنظیم یک رویداد در ۴۵ ثانیه، سرویس ورکرها میتوانستند قبل از فعال شدن رویداد خاموش شوند.
با شروع از کروم ۱۲۰، اکنون میتوانید یک رویداد را در یکی از موارد زیر ایجاد کنید:
- کمتر از 30 ثانیه با استفاده از
setTimeout(). - هر چیزی که بیشتر یا مساوی ۳۰ ثانیه باشد با استفاده از
chrome.alarms:
await chrome.alarms.create('demo-default-alarm', {
periodInMinutes: 0.45
});
خلاصه
ما واقعاً از پیشرفتی که این پلتفرم افزونهها در طول سال گذشته داشته هیجانزدهایم. کروم ۱۲۰ با افزایش محدودیتهای DNR و پشتیبانی از اسکریپتهای کاربر، گام بزرگ دیگری است.