در ماه ژوئیه، ما یک سری وبلاگ جدید راه اندازی کردیم تا شما را در مورد پیشرفت های برنامه افزودنی به روز نگه داریم. به لطف بازخورد ارزشمند شما و همکاری مداوم ما با سایر فروشندگان مرورگر در گروه انجمن WebExtensions، ما همچنان به بهبود APIهای برنامه افزودنی ادامه می دهیم و در جهت سازگاری بیشتر در بین مرورگرها کار می کنیم.
به نسخه اکتبر خوش آمدید! در این پست، به برخی از تغییراتی که تیم افزونه کروم در چند ماه گذشته ایجاد کرده است و همچنین برخی از ویژگیهای جدیدی که اواخر امسال ارائه میشوند، نگاهی خواهیم انداخت. بیا شروع کنیم!
API های افزونه و ویژگی های جدید
در این بخش، چند راهاندازی مهم API را به اشتراک میگذاریم، به طور خلاصه سایر بهبودهای API را مرور میکنیم و نسخههای آینده را به اشتراک میگذاریم. همه راهاندازیها در حال حاضر در آخرین نسخه بتا در دسترس هستند. برای جزئیات، برنامه زمانبندی انتشار کروم را ببینید.
نکات برجسته
مسائل شناخته شده را حل کرد
تیم برنامه افزودنی فعالانه برای حل مشکلات پایداری Manifest V3 کار کرده است. Chrome 116 پیشرفتهای زیادی را ارائه کرد که به ما کمک کرد پیشرفت قابلتوجهی در جهت کاهش شکاف ویژگیها بین Manifest V2 و V3 داشته باشیم. در Chrome 120، رسیدگی به تمام شکافهای پلتفرم اولویتبندی شده خود را به پایان رساندهایم و همه اشکالات مهمی را که در صفحه مشکلات شناخته شده مستند شدهاند، میبندیم. همه ویژگیها در حال حاضر در Chrome 120 Canary در دسترس هستند، بهجز پشتیبانی از fileHandler برای ChromeOS Lacros و userScripts API که در اواخر این ماه ارائه میشود. برای جزئیات بیشتر ، صفحه مشکلات شناخته شده به روز شده را بررسی کنید.
بهبود ثبات کارکنان خدمات
مشکلات پایداری مربوط به کارکنان خدمات حل شده است. در Chrome 116، نگهداشتن زندههای قوی را به APIهای برنامههای افزودنی اضافه کردیم که درخواست کاربر را نشان میدهند و پشتیبانی بهتری از WebSockets را نشان میدهند (به آموزش استفاده از WebSockets در برنامههای افزودنی مراجعه کنید). از Chrome 118 به بعد، یک سرویسدهنده در طول یک جلسه API فعال Debugger زنده میماند.
برای جزئیات بیشتر ، راهنمای بهروزرسانیشده سرویسکار ما را بررسی کنید. اگر کاربران شما همچنان با مشکلات پایداری مربوط به سرویسدهنده در نسخههای Chrome بعد از 119 مواجه هستند، لطفاً به ما اطلاع دهید .
افزایش امنیت
قبلاً، پیمایش به برخی از نشانیهای وب chrome://
با استفاده از tabs.update()
, tabs.create
و windows.create()
خطایی ایجاد میکرد یا کروم را خراب میکرد. همچنین، tabs.update()
نتوانست URL جاوا اسکریپت را باز کند. در Chrome 117، تعداد URL های پشتیبانی شده chrome://
را افزایش دادیم، و مسدود کردن URL جاوا اسکریپت اکنون برای همه روش های API برنامه افزودنی نیز اعمال می شود.
در Chrome 117، اگر افزونهای که نصب کردهاند دیگر در فروشگاه وب Chrome موجود نباشد، کاربران اعلانهای فعالانه را در صفحه برنامههای افزودنی Chrome دریافت خواهند کرد. اگر توسعهدهنده افزونه را لغو انتشار کند، به دلیل نقض خطمشی حذف شود یا به عنوان بدافزار شناسایی شود، ممکن است این اتفاق بیفتد. برای غواصی عمیق، وارد کردن بررسی ایمنی به صفحه chrome://extensions را ببینید.
در Chrome 118، برنامههای افزودنی مجاز به پیمایش به آدرسهای file://
با استفاده از chrome.tabs
و chrome.windows
APIها نیستند، مگر اینکه گزینه «اجازه دسترسی به آدرسهای اینترنتی فایل» در صفحه جزئیات برنامه افزودنی فعال باشد. بحث WECG را ببینید.
راه اندازی API بیشتر
- Runtime API: با شروع در Chrome 116، میتوانید از
runtime.getContexts()
برای بازیابی اطلاعات مربوط به زمینههای فعال استفاده کنید. برای مثال، میتوانید بررسی کنید که آیا سند خارج از صفحه فعال وجود دارد یا خیر. - Side Panel API در Chrome 116 میتوانید از
sidepanel.open()
برای باز کردن پانل کناری افزونه به صورت برنامهریزی در پاسخ به حرکت کاربر، مانند کلیک کردن روی منوی زمینه، استفاده کنید. - TabCapture API توانایی فراخوانی
getMediaStreamId()
را از کارگر سرویس برنامه افزودنی و دریافت یک شیMediaStream
از شناسه جریان در یک سند خارج از صفحه در Chrome 116 اضافه کرد. برای مثال به ضبط صدا و ضبط صفحه مراجعه کنید. - DeclarativeNetRequest API: مقدار پیشفرض ویژگی
isUrlFilterCaseSensitive
در Chrome 118 بهfalse
تغییر یافت.
به زودی...
ما قصد داریم با انتشار Chrome 120 به همه موارد باقی مانده در صفحه مشکلات شناخته شده رسیدگی کنیم. علاوه بر این، ما قصد داریم ویژگی های زیر را اضافه کنیم:
- UserScripts API به مدیران اسکریپت کاربر اجازه می دهد تا نحوه و زمان تزریق مجموعه ای از اسکریپت های کاربر را به صفحات وب هماهنگ کنند. برای جزئیات به پیشنهاد WECG مراجعه کنید.
- ReadingList API به توسعه دهندگان این امکان را می دهد که ابرداده های واقع در پانل Reading List پانل کناری را ایجاد، خواندن، به روز رسانی و حذف کنند. برای اطلاعیه موارد جدید در افزونه های Chrome را تماشا کنید.
- به دنبال بازخورد در گروه انجمن برنامههای افزودنی وب، به طور قابل توجهی محدودیت قوانین ثابت فعال را از 10 به 50 افزایش میدهیم. علاوه بر این، ما تعداد کل قوانین استاتیک مجاز را از 50 به 100 افزایش می دهیم. این در حال حاضر در قناری موجود است.
- File Handling API: برای برنامههای افزودنی ChromeOS که از ChromeOS 120 شروع میشود، در دسترس خواهد بود، که به برنامههای افزودنی اجازه میدهد فایلها را با انواع MIME مشخص شده و پسوند فایلها به روشی مشابه با مدیریت فایلهای پلتفرم وب باز کنند.
- برنامههای افزودنی میتوانند از web Push API از طریق
self.registration.pushManager.subscribe()
بدون نمایش اعلان قابل مشاهده توسط کاربر با تنظیمuserVisibleOnly
رویfalse
استفاده کنند. این امر باعث میشود اعلانهای فشاری جایگزین بینظیری برای WebSockets در سرویسکاران (MV3) برای ارتباط ناهمزمان مشتری-سرور شود. برای جزئیات، به بحث Chromium اشکال و WECG مراجعه کنید.
به محض اینکه این ویژگیها در Chrome Beta در دسترس قرار گرفت، منتظر اطلاعیههای جدید در افزونهها باشید.
ارتقای اسناد
ما همچنین در حال بهبود و اضافه کردن اسناد خود بوده ایم. لطفاً به پرسیدن سؤالات درباره گروه chromium ادامه دهید و مشکلات اسناد را گزارش کنید .
نکات برجسته
- ما صفحه فرود نمونه ها را اصلاح کرده ایم. اکنون میتوانید بر اساس API، مجوز و نوع فیلتر کنید و مکانیابی نمونههای خاص را آسانتر کنید. این بهبود یک تلاش مشترک با کارآموز تابستانی کد ما، Xuezhou Dai بود. در مورد تجربه او در این پست وبلاگ بخوانید.
- استفاده از حساب Google Analytics خود در فروشگاه وب Chrome نحوه مشاهده Google Analytics 4 را برای فهرست فروشگاه وب Chrome خود، تکمیل کننده دادههای ارائه شده توسط داشبورد برنامهنویس، توضیح میدهد. این راهنما مراحلی را برای شرکت در Google Analytics، نظارت بر عملکرد تبلیغات، ردیابی تبدیلها و دسترسی سایر حسابها به دادههای Google Analytics ارائه میکند.
- ما راهنمای جدیدی در مورد نحوه عملکرد کوکیها و APIهای ذخیرهسازی وب در برنامههای افزودنی Chrome منتشر کردیم. این شامل همه چیزهایی است که باید در مورد Privacy Sandbox به عنوان یک توسعه دهنده برنامه افزودنی بدانید.
- مقالههای جدیدی را درباره نحوه ادغام آزمایش در پروژههای برنامههای افزودنی شما راهاندازی کردیم: آزمایش واحد افزونههای Chrome و آزمایش سرتاسر برای برنامههای افزودنی، راهنماییهای کلی و بهترین شیوهها را در تعدادی از چارچوبهای محبوب پوشش میدهد. برای یک آموزش عملی، به آزمایش افزونههای Chrome با Puppeteer مراجعه کنید.
به روز رسانی های بیشتر
- ما دستورالعمل API درخواست خالص اعلامی را به گونه ای بازنویسی کرده ایم که تصویر واضح تری از نحوه اجرای مجموعه قوانین اعلامی ارائه می دهد.
- ما راهنمایی های بیشتری برای انتقال کد میزبان از راه دور به Manifest V3 اضافه کردیم. به علاوه، برای به حداقل رساندن خطر مواجه شدن با مشکلات در طول انتشار، ما استراتژیهایی را برای انتشار مرحلهای افزونه Manifest V3 ارائه میکنیم.
- با نحوه اتصال به WebSocket در سرویس کار افزونه خود آشنا شوید.
- ما راهنمای دریافت راهنمایی خود را گسترش دادیم تا دستورالعملهای دقیقتری در مورد نحوه ثبت اشکال، پیگیری مشکلات موجود، درخواست ویژگیهای جدید و موارد دیگر را شامل شود.
به زودی...
- مرجع و آموزش User Scripts API.
- آموزش Firebase و نمونه.
- مرجع ReadingList API.
طراحی مجدد فروشگاه وب Chrome 🌈
در اوایل این ماه، همانطور که به Google I/O اشاره کردیم، پیشنمایش اولیه فروشگاه وب کروم بازسازیشده را اعلام کردیم. خودتان آن را بررسی کنید! https://chromewebstore.google.com/ . چند تغییر قابل توجه عبارتند از:
- فهرست دستهبندیها را از فهرست یازده تایی به فهرست جدید هفده تایی در سه گروه افزایش داد.
- تکمیل خودکار در جستجو بهبود یافته است.
- اکنون اسکرین شات ها با کیفیت بسیار بالاتری نمایش داده می شوند. اگر قبلاً این کار را نکردهاید، میتوانید اسکرینشاتهای 1280x800 را آپلود کنید.
- پاسخ به سوالات در برگه پشتیبانی اکنون خطوط جدید را نشان می دهد.
- هنگام پاسخ به نظرات کاربران و سؤالات پشتیبانی، پاسخ شما اکنون شامل نشان «توسعهدهنده» در کنار نام شما خواهد بود.
- میتوانید با افزودن «/reviews» در انتهای نشانی اینترنتی مورد فروشگاه خود، پیوند مستقیمی به صفحه نظرات در اختیار کاربران قرار دهید، برای مثال:
https://chromewebstore.google.com/detail/_EXTENSION_ID_/reviews
.
از نظر همه افراد تا کنون در گروه chromium-google متشکریم. به راحتی به بحث بپیوندید یا بازخورد خود را مستقیماً با استفاده از آیتم منوی بازخورد دادن به تیم CWS ارسال کنید:
علاوه بر این، میتوانید یک فرم خود نامزدی ارسال کنید تا در مجموعه انتخابهای ویرایشگران نمایش داده شود. منتظر بهبودهایی باشید که به زودی در داشبورد توسعهدهندگان نیز ارائه میشوند!
💡 آیا می دانستید؟
- یک ویدیوی جدید در مورد اشکال زدایی افزونه های کروم وجود دارد. موضوعات بسیاری را پوشش می دهد که ممکن است قبلاً با آنها آشنا باشید، اما همچنین چند ترفند ساده برای استفاده از DevTools در برنامه های افزودنی به اشتراک می گذارد.
- اکنون باید برای هر برنامه افزودنی یک خط مشی رازداری ارائه دهید. قبلاً فقط میتوانستید یک خطمشی حفظ حریم خصوصی به ازای هر حساب توسعهدهنده اضافه کنید، اما اگر چند برنامه افزودنی زیر یک حساب توسعهدهنده داشته باشید، کار سختی بود. این رابط جدید در برگه حریم خصوصی مورد شما در داشبورد برنامهنویس موجود است. این بدان معنی است که سیاست های حفظ حریم خصوصی در سطح حساب دیگر پشتیبانی نمی شود.
دست دراز کردن 🙌
ما به ارتباط با جامعه توسعه دهندگان برنامه های افزودنی از طریق 1:1، راه اندازی برنامه های جدید و شرکت در نشست ها ادامه داده ایم. در اینجا چند نکته برجسته وجود دارد:
- برنامه افزودنی Google Developer Experts در ماه اوت راه اندازی شد. ما بیش از دوجین GDE جدید متمرکز بر افزونه کروم از سرتاسر جهان داریم که بازخورد عالی را به ما ارائه می دهند. این یک زمان بسیار هیجان انگیز برای برنامه است!
- ما در TPAC (کنفرانس سالانه W3C) به عنوان بخشی از گروه جامعه برنامههای افزودنی وب شرکت کردیم و با نمایندگان فایرفاکس و سافاری به همراه تعدادی از اعضای انجمن ملاقات کردیم. ما در چندین موضوع پیشرفت قابل توجهی داشتیم، از جمله حرکت به سمت APIهای برنامه افزودنی سازگارتر، کار بر روی یک مشخصات، و ساختن بر روی تستهای پلتفرم وب برای ایجاد یک مجموعه آزمایشی جدید. دقیقه کامل را در مخزن WECG بخوانید.
- هفته گذشته، تیم توسعه در اجلاس Ad-Filtering Dev Summit در آمستردام شرکت کرد. آنها با چند نفر از شما در یک قهوهچتی که قبل از هفته اجلاس سران و ساعات کاری باز جمعه برگزار میکردند ملاقات کردند.
حتی اگر نتوانستید در هیچ یک از این رویدادها شرکت کنید، میتوانید با پرسیدن سؤالات در مورد گروه Google -extensions کروم ، دنبال کردن بحثهای شریک مرورگر در مورد WECG و گزارش هرگونه مشکل مستندات، به مشارکت خود ادامه دهید.
باز هم از اینکه بخشی از انجمن توسعه دهندگان برنامه های افزودنی هستید سپاسگزاریم!