مشکلات شناخته شده هنگام مهاجرت به Manifest V3، مشکلات شناخته شده هنگام مهاجرت به Manifest V3

اخیراً، تغییراتی را در جدول زمانی منسوخ شدن Manifest V2 اعلام کرده‌ایم، و در حالی که ما کاملاً به Manifest V3 متعهد هستیم، تصدیق می‌کنیم که کارهای بیشتری از سوی ما انجام می‌شود.

  • قبل از اعلام یک جدول زمانی جدید برای منسوخ شدن، رسیدگی به شکاف های پلت فرم اولویت بندی شده را به پایان رساندیم و اشکالات مهمی را که در این صفحه مستند شده بود، بسته ایم.
  • با تضمین حداقل شش ماه بین اعلام جدول زمانی و آزمایش‌های معلق برای حذف پشتیبانی از Manifest V2، به توسعه‌دهندگان زمان دادیم تا بسازند.

بستن شکاف پلت فرم

ما متعهد هستیم که شکاف‌های زیر را قبل از اعلام یک جدول زمانی جدید منسوخ شدن Manifest V2 ببندیم:

مشکلات بر اساس بازخورد شرکا، گزارش‌های اشکال و توسعه‌دهندگان جمع‌آوری شد. ما به کار مداوم خود برای بهبود پایداری و عملکرد کلی پلت فرم برنامه افزودنی ادامه خواهیم داد.

در حال حاضر هیچ موضوع باز وجود ندارد که به عنوان شکاف پلت فرم مهم در نظر گرفته شود.

اخیراً به مسائل زیر پرداخته شده است:

  1. پشتیبانی از مدیریت فایل در ChromeOS به عنوان جایگزینی برای chrome.fileBrowserHandler [Chrome 120].
  2. پشتیبانی از اسکریپت کاربر: امکان ثبت اسکریپت های محتوا با کد دلخواه با userScripts API جدید [Chrome 120].
  3. سرویس‌دهی قوی اضافی برای عملیات‌های خاص بیش از پنج دقیقه طول می‌کشد.
    • در Chrome 116 برای permissions.request() ، desktopCapture.chooseDesktopMedia() ، identity.launchWebAuthFlow() و management.uninstall() اضافه شده است.
    • در Chrome 118 برای chrome.debugger اضافه شده است
  4. تعداد مجموعه قوانین ثابت و فعال را برای درخواست خالص اعلامی (DNR) افزایش دهید . قوانین استاتیک فعال از 10 به 50 و مجموع قوانین استاتیک از 50 به 100 [Chrome 120] افزایش یافته است.
  5. برای پشتیبانی از دلایل بیشتر برای استفاده از سند خارج از صفحه، قابلیت سند خارج از صفحه را گسترش دهید. GEOLOCATION در Chrome 116 اضافه شد.
  6. بهبود پشتیبانی از chrome.tabCapture API [Chrome 116]:
    • از فراخوانی getMediaStreamId() از یک سرویس دهنده پشتیبانی کنید.
    • پشتیبانی از دریافت MediaStream از شناسه جریان در یک سند خارج از صفحه.
  7. افزایش طول عمر کارمندان خدمات تا زمانی که اتصالات WebSocket فعال وجود دارد [Chrome 116].

سوالات متداول مانیفست V3

س: آیا قصد داریم از کارگران خدماتی مداوم حمایت کنیم؟
پاسخ: یکی از دلایل کلیدی مهاجرت از اسکریپت‌های پس‌زمینه به سرویس‌دهندگان، مدل برنامه‌نویسی رویداد محور کارآمدتر حافظه است که از ماهیت زودگذر کارگران خدماتی ناشی می‌شود. در نتیجه، ما برنامه‌ای برای حمایت از کارکنان خدمات مداوم نداریم. با این حال، برای رسیدگی به نیازهای خاص توسعه دهندگان برنامه های افزودنی، ما همچنان به بهبودهای بسیاری برای کارکنان خدمات ادامه می دهیم. به خصوص:

  • همه رویدادهای برنامه افزودنی و تماس‌های API طول عمر کارمند سرویس را افزایش می‌دهند.
  • موارد استفاده انتخابی مانند پیام‌رسانی بومی، کارکنان خدمات برنامه‌های افزودنی را بیش از 5 دقیقه زنده نگه می‌دارند.

س: آیا راهی برای دسترسی به DOM در سرویس‌کاران وجود دارد؟
پاسخ: ما رویکرد اتخاذ شده توسط پلتفرم وب را دنبال می‌کنیم که شامل دسترسی DOM در وب‌کارگران نمی‌شود (که شامل کارکنان خدمات می‌شود). برای پشتیبانی از موارد استفاده که نیازمند دسترسی به DOM پس‌زمینه از کارکنان خدمات هستند، امکان واگذاری کار پس‌زمینه را به اسناد Offscreen ک��ت��ه م��ت که ��سترسی کامل به DOM را فراهم می‌کنند، معرفی کرده‌ایم.

س: آیا راهی برای پشتیبانی از کد راه دور در Manifest V3 وجود خواهد داشت؟
پاسخ: برای ایمن‌تر کردن برنامه‌های افزودنی Chrome، اجرای کد میزبانی از راه دور دلخواه را در برنامه‌های افزودنی Chrome همچنان مجاز نمی‌دانیم. با این حال، این بدان معنا نیست که ما انواع اجرای کد پویا را مجاز نمی‌دانیم. ما همچنان از گزینه‌های مختلف اجرای پویا کد در برنامه‌های افزودنی Chrome پشتیبانی می‌کنیم:

س: برنامه افزودنی Manifest V2 من به webRequestBlocking متکی است که در Manifest V3 پشتیبانی نمی شود. چگونه می توانم به ارائه همان عملکرد در Manifest V3 ادامه دهم؟
پاسخ: ما مطمئن هستیم که اکثر موارد استفاده مسدودسازی درخواست را می‌توان با API جدید declarativeNetRequest حل کرد، که دارای مزیت اضافه اجتناب از سربار عملکرد ارتباطات بین فرآیندی، اجرای کد در هر درخواست، یا نیاز به یک فرآیند توسعه فعال در زمان است. درخواست. با این حال، برای موارد استفاده پیچیده سازمانی (یا آموزشی) ، مسدود کردن درخواست پویا همچنان پشتیبانی می‌شود.

چیزی را از دست دادیم؟ لطفا اجازه دهید تا ما بدانیم .