برای کسب اطلاعات بیشتر در مورد تغییرات افزونههای کروم، مستندات افزونهها، یا سیاستهای مرتبط یا سایر تغییرات، مرتباً این صفحه را بررسی کنید. اطلاعیههای دیگری را که در فهرست پستی افزونههای کروم منتشر شدهاند، خواهید یافت. برنامه کروم، تاریخ انتشار نسخههای پایدار و بتا را فهرست میکند.
ویدیو: پاسخ به سوالات شما در مورد قابلیت کشف فروشگاه وب کروم
ارسال شده در
ما در جدیدترین ویدیوی خود به سوالات شما در مورد کشف در فروشگاه وب کروم پاسخ میدهیم.
کروم ۱۴۰: رابط برنامهنویسی کاربردی جدید sidePanel.getLayout()
ارسال شده در
از کروم ۱۴۰ به بعد، از API جدید sidePanel.getLayout() برای تعیین موقعیت پنل کناری در سمت چپ یا راست صفحه استفاده کنید. این قابلیت به ویژه در صورتی مفید است که از زبانهای RTL پشتیبانی میکنید، در حالی که پیشفرض نصبهای جدید کروم متفاوت است.
راهنمای جدید: چرخه عمر بهروزرسانی افزونهها
ارسال شده در
ما یک راهنمای جدید منتشر کردیم که نحوه بهروزرسانی افزونهها در کروم را توضیح میدهد .
کروم ۱۳٩: حذف پرچمهای --extensions-on-chrome-urls و --disable-extensions-except در نسخههای دارای برند کروم
ارسال شده در
از نسخه ۱۳۹ کروم، پرچمهای خط فرمان --extensions-on-chrome-urls و --disable-extensions-except در نسخههای رسمی کروم حذف خواهند شد. برای اطلاعات بیشتر به فهرست ایمیل مراجعه کنید.
کروم ۱۳۸: تغییرات در صفحه تب جدید
ارسال شده در
با شروع از کروم ۱۳۸، رابط کاربری صفحه تب جدید را با یک پاورقی جدید بهروزرسانی میکنیم. میتوانید اطلاعات بیشتر را در فهرست ایمیلها بیابید.
پست وبلاگ: افزونههای خود را قبل از تغییرات آتی بوکمارکها بهروزرسانی کنید
ارسال شده در
ما در حال ایجاد تغییراتی در همگامسازی نشانکها هستیم که ممکن است بر افزونه شما تأثیر بگذارد. برای اطلاعات بیشتر به پست وبلاگ مراجعه کنید.
پست وبلاگ: چه اتفاقی در افزونههای کروم، ژوئن ۲۰۲۵ میافتد
ارسال شده در
ما با کنفرانس Google I/O و چندین ویژگی جدید در کروم و فروشگاه وب کروم حسابی مشغول بودهایم. در ژوئن ۲۰۲۵ از آخرین اخبار مربوط به افزونههای کروم مطلع شوید!
ویدیو: بازی Whack-a-Mole در مرورگر شما - آیا این امکان وجود دارد!؟
ارسال شده در
در جدیدترین ویدیوی ما، نحوه ساخت بازی در مرورگر را کشف کنید.
ویدیو: توضیح منوی افزونههای جدید کروم
ارسال شده در
در جدیدترین ویدیوی ما، با عنوان «توضیح منوی جدید افزونههای کروم»، درباره منوی افزونههای آزمایشی جدید بیشتر بدانید.
ویدیو: اکستنشنها مرتب هستند!
ارسال شده در
در قسمت اول «افزونهها عالی هستند» کشف کنید که چگونه میتوانید توسعه افزونهها را شروع کنید، و در قسمت دوم ببینید که سفارشیسازی کروم چقدر انعطافپذیر است!
کروم ۱۳۵: رابط برنامهنویسی جدید userScripts.execute()
ارسال شده در
از کروم ۱۳۵ به بعد، متد جدید userScripts.execute() در API مربوط به chrome.userScripts موجود است. میتوانید از این متد برای تزریق یک اسکریپت کاربری، یک بار در هر زمان دلخواه، به جای نیاز به ثبت دائمی آن، استفاده کنید.
کروم ۱۳۲: مشاهده و ویرایش فضای ذخیرهسازی افزونهها در DevTools
ارسال شده در
از کروم ۱۳۲ به بعد، میتوانید دادههای ذخیرهشده را با استفاده از API مربوط به chrome.storage در DevTools مشاهده و ویرایش کنید. برای کسب اطلاعات بیشتر، به صفحه جدید «مشاهده و ویرایش فضای ذخیرهسازی افزونهها» در مستندات DevTools مراجعه کنید.
پست وبلاگ: منوی افزونههای جدید
ارسال شده در
در کنفرانس Google I/O 2024، ما برخی از طرحهای اولیه برای تغییرات آتی در منوی افزونهها را به اشتراک گذاشتیم که به کاربران کنترل بیشتری بر سایتهایی که افزونهها میتوانند به آنها دسترسی داشته باشند، میدهد. ما به زودی آزمایش این تغییرات را آغاز خواهیم کرد، و این کار را با درصد کمی از کاربران در Canary آغاز خواهیم کرد و امیدواریم که در آینده آنها را به طور گستردهتری اعمال کنیم.
ما همچنین در حال معرفی API chrome.permissions.addHostAccessRequest() هستیم.
ادامه مطلب را در پست وبلاگ ما بخوانید.
کروم ۱۳۲: ویژگی جدید قفلشده در Tabs API
ارسال شده در
از کروم ۱۳۲ به بعد، ویژگی frozen در Tabs API نشان میدهد که آیا یک تب توسط مرورگر مسدود شده است یا خیر. پیامهای ارسالی به تبهای مسدود شده، پس از رفع مسدودیت تب، در صف قرار گرفته و مدیریت میشوند.
رابط برنامهنویسی کاربردی Prompt در افزونههای کروم
ارسال شده در
رابط برنامهنویسی کاربردی Prompt برای افزونهها اکنون در نسخه آزمایشی اصلی در دسترس است، بنابراین میتوانید افزونههای کرومی بسازید که از Gemini Nano، کارآمدترین مدل زبانی ما، در مرورگر استفاده میکنند.
به نسخه آزمایشی Prompt API که در کروم ۱۳۱ تا ۱۳۶ اجرا میشود، بپیوندید و نظرات خود را به اشتراک بگذارید. نظرات شما میتواند مستقیماً بر نحوه ساخت و پیادهسازی نسخههای آینده این API و تمام APIهای هوش مصنوعی داخلی تأثیر بگذارد.
پست وبلاگ: چه اتفاقی در افزونههای کروم میافتد، اکتبر ۲۰۲۴
ارسال شده در
وقت آن رسیده که نگاهی دوباره به اتفاقات افزونههای کروم بیندازیم: ما بهروزرسانیهای هیجانانگیزی در مورد ادغام هوش مصنوعی، APIهای جدید، رویدادها و ویدیوها داریم. همه چیز را در «چه اتفاقی در افزونههای کروم میافتد» نسخه اکتبر بخوانید!
به چالش هوش مصنوعی داخلی بپیوندید
ارسال شده در
کروم چالش هوش مصنوعی داخلی را راهاندازی کرده است: از شما دعوت میشود تا با استفاده از مدلها و APIهای هوش مصنوعی یکپارچه کروم ، برنامههای وب و افزونههای کروم نوآورانهای ایجاد کنید و شانس برنده شدن جوایزی به ارزش ۶۵۰۰۰ دلار آمریکا را داشته باشید.
برای ثبت نام و کسب اطلاعات بیشتر به وبسایت چالش هوش مصنوعی توکار مراجعه کنید . بیصبرانه منتظریم ببینیم وقتی وب را با هوش مصنوعی ترکیب میکنید، چه چیزهایی خلق میکنید!
کروم ۱۳۰: action.onUserSettingsChanged
ارسال شده در
از کروم ۱۳۰ به بعد، رویداد action.onUserSettingsChanged در دسترس است. این پیشنهاد در گروه انجمن WebExtensions مطرح شده است. از مایکروسافت به خاطر مشارکت در Chromium متشکریم.
کروم ۱۳۰: StorageArea.getKeys()
ارسال شده در
از کروم ۱۳۰ به بعد، متد getKeys() در رابط StorageArea که توسط chrome.storage API استفاده میشود، در دسترس است. این موضوع پیرو پیشنهادی در گروه انجمن WebExtensions مطرح شده است.
کروم ۱۲۸: تطبیق هدر پاسخ در درخواست اعلانی شبکه
ارسال شده در
با شروع از کروم ۱۲۸، ما پشتیبانی از تطبیق هدر پاسخ را در API درخواست اعلانی Net اضافه میکنیم. این یک درخواست رایج بود، به خصوص برای تطبیق هدر Content-Type، و ما یک API مناسب را به همراه گروه جامعه WebExtensions طراحی کردیم .
ما مرجع API خود را بهروزرسانی کردهایم تا فیلدهای جدید responseHeaders و excludedResponseHeaders را شامل شود. میتوانید از این موارد برای بررسی وجود و مقدار یک هدر مشخص استفاده کنید.
به عنوان بخشی از این بهروزرسانی، ما یک بخش ارزیابی قانون جدید به مستندات خود اضافه کردهایم که نحوه تطبیق قوانین را توضیح میدهد. به طور خاص برای تطبیق هدر، قوانین فقط میتوانند پس از دریافت هدرهای پاسخ اجرا شوند، بنابراین آنها در مرحله بعدی نسبت به سایر قوانین اعمال میشوند. این بدان معناست که درخواست قبل از مسدود شدن یا هدایت مجدد به سرور میرسد.
ویدیو: اسکریپتهای محتوا چیستند؟
ارسال شده در
درباره اسکریپتهای محتوا در افزونههای کروم، از جمله نحوه ثبت CSS و جاوا اسکریپت برای اجرا در یک صفحه خاص، اطلاعات کسب کنید. ویدیوی کامل را تماشا کنید .
بهروزرسانیهای مهم سیاستها
ارسال شده در
تیم فروشگاه وب کروم مجموعهای از بهروزرسانیها را در صفحه سیاستهای برنامه توسعهدهندگان منتشر کرده است که برای تشویق توسعه محصولات با کیفیت بالا، جلوگیری از رفتارهای فریبنده و اطمینان از رضایت آگاهانه کاربر طراحی شدهاند. ربکا سوارز، مدیر سیاستهای فروشگاه وب کروم، تمام بهروزرسانیها را در پست وبلاگ «افزونههای کروم: بهروزرسانیهای مهم سیاست» خلاصه کرده است.
پست وبلاگ: چه اتفاقی در افزونههای کروم، ژوئیه ۲۰۲۴ میافتد
ارسال شده در
در سه ماه گذشته، ما چندین بهروزرسانی مهم و ویژگیهای جدید، از جمله شروع به حذف Manifest V2، منتشر کردهایم. در نسخه جولای افزونههای کروم، از آخرین اخبار مطلع شوید!
ویدیو: کد میزبانی شده از راه دور چیست؟
ارسال شده در
پاتریک از تیم افزونههای کروم، مفهوم کد میزبانیشده از راه دور (RHC) را در افزونههای کروم توضیح میدهد. بیاموزید که چرا RHC دیگر مجاز نیست، چگونه آن را تشخیص دهید و در صورت نیاز به بهروزرسانی افزونه خود چه کاری باید انجام دهید. ویدیوی کامل را تماشا کنید .
کروم ۱۲۷: رابط برنامهنویسی کاربردی جدید action.openPopup
ارسال شده در
از نسخه ۱۲۷ کروم، رابط برنامهنویسی کاربردی (API) مربوط به action.openPopup برای همه افزونهها در دسترس است. پیش از این، این رابط فقط در نسخه Canary یا افزونههایی که توسط یک سیاست نصب میشدند، در دسترس بود.
ویدئو: مصاحبه با تیم اعتماد و ایمنی
ارسال شده در
تیم توسعهدهندگان افزونههای کروم (Chrome Extensions DevRel) با تیم اعتماد و ایمنی (Trust & Safety) که مسئول بررسی در فروشگاه وب کروم هستند، نشستی برگزار کردند تا سوالات شما را بپرسند. ویدیوی کامل را تماشا کنید .
پست وبلاگ: توقف تدریجی Manifest V2 آغاز شد
ارسال شده در
از تاریخ ۳ ژوئن در کانالهای Chrome Beta، Dev و Canary، اگر کاربران هنوز افزونههای Manifest V2 را نصب کرده باشند، برخی از آنها هنگام بازدید از صفحه مدیریت افزونههای خود - chrome://extensions - یک بنر هشدار دهنده مشاهده خواهند کرد که به آنها اطلاع میدهد برخی از افزونههای (Manifest V2) که نصب کردهاند به زودی دیگر پشتیبانی نخواهند شد. برای اطلاعات بیشتر به اطلاعیه رسمی مراجعه کنید.
بهروزرسانیهای رابط کاربری پنل کناری
ارسال شده در
ما اخیراً تغییراتی در رابط کاربری پنل کناری ایجاد کردهایم، از جمله اضافه کردن یک آیکون پین و حذف آیکون سراسری پنل کناری. برای اطلاعات بیشتر به PSA مراجعه کنید و مستندات و نمونههای بهروز شده ما را ببینید.
پست وبلاگ: افزونههای کروم در کنفرانس گوگل آی/او ۲۰۲۴
ارسال شده در
یک کنفرانس دیگر گوگل I/O پشت سر گذاشته شد و ما تمام بهروزرسانیهای هیجانانگیز افزونهها را پوشش دادیم! برای تماشای ویدیوی کامل به یوتیوب مراجعه کنید و پست وبلاگ ما را برای برخی از نکات برجسته بخوانید.
صرف نظر از بررسی برای تغییرات درخواست شبکه اعلانی واجد شرایط
ارسال شده در
فروشگاه وب کروم اکنون به شما امکان میدهد هنگام استفاده از API درخواست اعلانی Net، از بررسی تغییرات واجد شرایط صرف نظر کنید. برای کسب اطلاعات بیشتر در مورد واجد شرایط بودن و نحوهی شرکت در این بررسی، به مستندات فروشگاه وب کروم مراجعه کنید.
deployPercentage در API فروشگاه وب کروم موجود است
ارسال شده در
ما اخیراً مستندات API فروشگاه وب کروم خود را بهروزرسانی کردهایم تا اطلاعاتی در مورد deployPercentage در آن بگنجانیم، که به شما امکان میدهد درصدی از یک استقرار جزئی را اختصاص دهید. درباره deployPercentage بیشتر بدانید .
کروم ۱۲۶: نسخه آزمایشی Origin در افزونهها
ارسال شده در
کروم ۱۲۶ یک فیلد جدید manifest.json به نام trial_tokens معرفی میکند که به شما امکان میدهد در تمام سطوح افزونه، نسخههای آزمایشی Origin و Deprecation را انتخاب کنید. برای اطلاعات بیشتر، راهنما را مطالعه کنید.
پست وبلاگ: چه اتفاقی در افزونههای کروم میافتد - آوریل ۲۰۲۴
ارسال شده در
ما نسخه جدیدی از «آنچه در افزونههای کروم میگذرد» منتشر کردهایم. این پست به بررسی کارهایی که تیم افزونهها در چند ماه گذشته روی آنها کار کردهاند، میپردازد. این موارد شامل موارد زیر است: بازگرداندن نسخه به نسخه قبلی در فروشگاه وب کروم، پشتیبانی بهتر از Firebase Auth و راهاندازیها و بهروزرسانیهای بیشتر API.
بازگرداندن نسخهها به نسخههای قبلی در داشبورد توسعهدهندگان فروشگاه وب کروم
ارسال شده در
افزونه خود را به نسخه منتشر شده قبلی در فروشگاه وب کروم برگردانید—بدون نیاز به بررسی بیشتر! برای اطلاعات بیشتر ، پست وبلاگ و مستندات را مطالعه کنید.
کروم ۱۲۴: API اسکن اسناد پیشرفته
ارسال شده در
یک رابط برنامهنویسی پیشرفتهی documentScan API) اکنون در سیستمعامل کروم (ChromeOS) برای کشف و بازیابی تصاویر از اسکنرهای اسناد پیوستشده در دسترس است.
کروم ۱۲۴: پشتیبانی از WebGPU در Service Workerها
ارسال شده در
از نسخه ۱۲۴ کروم، سرویس ورکرها از WebGPU پشتیبانی میکنند. برای شروع سریع، نمونه افزونه WebGPU را بررسی کنید.
کروم ۱۲۳: API رویدادها از فیلتر کردن بر اساس بلوکهای CIDR پشتیبانی میکند
ارسال شده در
API رویدادها اکنون از فیلتر کردن توسط بلوکهای مسیریابی بین دامنهای بدون کلاس (CIDR) پشتیبانی میکند. یک بلوک CIDR مجموعهای از آدرسهای IP است که یک پیشوند شبکه و تعداد بیتهای یکسانی را به اشتراک میگذارند. پیش از این، توسعهدهندهای که نیاز به فیلتر کردن چندین آدرس IP داشت، باید یک قانون فیلتر برای هر یک از آدرسهای موجود در محدوده بلوک پیکربندی میکرد. اکنون وقتی یک افزونه addListener() را فراخوانی میکند، یک قانون ارسال شده به این معنی است که کنترلکننده رویداد فقط زمانی فراخوانی میشود که قسمت میزبان یک URL یک آدرس IP باشد و در هر یک از بلوکهای CIDR مشخص شده در یک آرایه قرار داشته باشد.
فروشگاه وب کروم: بهروزرسانیهایی برای الزامات طول نام افزونه
ارسال شده در
در فروشگاه وب کروم، اکنون محدودیت جهانی ۷۵ کاراکتر برای فیلد "name" افزونه در فایل manifest.json وجود دارد. پیش از این، محدودیت برای زبان انگلیسی ۴۵ کاراکتر بود و در سایر زبانها محدودیتی برای فیلد "name" وجود نداشت.
این در ابتدا برای این در نظر گرفته شده بود که تفاوتهای فرهنگی و زبانی که ممکن است نتوان آنها را در تعداد کاراکترهای یکسان گنجاند، در نظر گرفته شود. متأسفانه، این ویژگی توسط تعداد کمی از توسعهدهندگان برای ارسال هرزنامه به فروشگاه مورد سوءاستفاده قرار گرفت. در نتیجه، ما یک محدودیت جهانی جدید، افزایش به ۷۵ کاراکتر، معرفی میکنیم. این محدودیت تقریباً تمام افزونههای موجود در فروشگاه امروز را پوشش میدهد، بنابراین احتمالاً در نتیجه این تغییر نیازی به اقدامی از سوی شما نخواهد بود. اگر سعی کنید افزونهای را آپلود کنید که نام آن طولانیتر از حداکثر تعداد کاراکتر باشد، فروشگاه آپلود را مسدود خواهد کرد.
پست وبلاگ: سفر eyeo برای آزمایش سیستم تعلیق کارگران خدماتی
ارسال شده در
در این پست از تیم موتور توسعهی eyeo ، به بررسی مشکل آزمایش سرویسدهندههای توسعه میپردازیم. در Manifest V2، افزونهها در یک صفحهی پسزمینه قرار داشتند که در طول چرخهی حیات افزونه بیدار بودند. Manifest V3 به جای آن از سرویسدهندهها استفاده میکند و سرویسدهندهها، به طور خاص، با خاموش شدن در مواقعی که نیازی به آنها نیست، در منابع صرفهجویی میکنند. این امر چالشهای خاصی را در آزمایش ایجاد میکند. این پست توضیح میدهد که eyeo چگونه با این چالشها مقابله کرده است .
کروم ۱۲۳: حالا وقتی دستگاه در حالت خواب است، آلارمها اجرا میشوند
ارسال شده در
آلارمهایی که با استفاده از API chrome.alarms تنظیم میشوند، دیگر هنگام خواب رفتن دستگاه به تأخیر نمیافتند. وقتی دستگاه بیدار میشود، صرف نظر از تعداد آلارمهای از دست رفته، یک بار آلارم فعال میشود. برای مثال، فرض کنید آلارمی تنظیم شده است که هر ساعت یک بار به صدا درآید و دستگاهی که روی آن است از ساعت ۱۲:۵۵ بامداد تا ۲:۰۵ بامداد در حالت خواب باشد، در این صورت فقط آلارم ساعت ۲:۰۰ بامداد رویداد onAlarm را فعال میکند. این رویداد تا جایی که میتواند نزدیک به ساعت ۲:۰۰ بامداد فعال میشود و اگر دستگاه در حالت خواب باشد، بلافاصله پس از بیدار شدن دستگاه فعال میشود.
این تغییر، کروم را با رفتار توافقشده در گروه انجمن افزونههای وب هماهنگ میکند.
پست وبلاگ: تغییرات در رفتار bfcache با پورتهای پیام افزونه
ارسال شده در
حافظه پنهان (bfcache) یک بهینهسازی مرورگر است که امکان پیمایش سریع به عقب و جلو را فراهم میکند. از کروم ۱۲۳ به بعد، وقتی صفحهای با پورت افزونه باز در bfcache ذخیره میشود، کانال پیام بسته میشود، به این معنی که هیچ پیامی به آن صفحه ارسال نخواهد شد. در نتیجه، اسکریپتهای افزونه باید به رویدادهای چرخه عمر مانند onDisconnect گوش دهند و هنگام بازیابی صفحه از BFCache، یک اتصال جدید برقرار کنند.
برای اطلاعات بیشتر و نمونه کد، به «تغییرات در رفتار BFCache با پورتهای پیام افزونه» مراجعه کنید.
کروم ۱۲۲: وعده پشتیبانی از APIهای افزونه ناهمزمان
ارسال شده در
ما پیادهسازی پشتیبانی Promise را برای همه متدهای API افزونه ناهمزمان به پایان رساندهایم. این کار برای مدرنسازی متدهای API با بهبود ارگونومی برخورد با عملیات ناهمزمان انجام شده است. تعداد انگشتشماری از متدها (به عنوان مثال، desktopCapture.chooseDesktopMedia() ) همچنان فقط از callbackها پشتیبانی میکنند زیرا سطوح فعلی آنها با Promiseها سازگار نیست. برای سازگاری با نسخههای قبلی، callbackها هنوز پشتیبانی میشوند. اگر Promiseای را یافتید که با شکست مواجه شد، لطفاً یک اشکال (bug) ثبت کنید .
راهنمایی جدید برای ارتباط بلادرنگ
ارسال شده در
ما به تازگی راهنماهایی در مورد گزینههای بلادرنگ در افزونهها منتشر کردهایم. بهروزرسانیهای بلادرنگ، یک مسیر ارتباطی فوری از سرورهای شما به طور مستقیم به نصب افزونههایتان فراهم میکنند. علاوه بر این، ما راهنمای جدیدی برای استفاده از chrome.gcm و Web Push داریم.
راهنمایی و نمونه جدید: آزمایش اخراج کارمند خدمات
ارسال شده در
ما به تازگی راهنمایی در مورد نحوه آزمایش خاتمه سرویس ورکر با Puppeteer منتشر کردهایم. نمونه همراه، این موضوع را در Puppeteer و Selenium نشان میدهد.
نمونه بهروزرسانیشده برای پیامرسانی بومی
ارسال شده در
ما به تازگی یک نمونه بهروزرسانیشده برای پیامرسانی بومی منتشر کردهایم. این API به افزونه شما اجازه میدهد تا یک برنامه دیگر را اجرا کرده و با آن ارتباط برقرار کند. با تشکر از Shubham-Rasal ، همکار GitHub، برای کار روی این موضوع.
کروم ۱۲۱: ویژگی جدید lastAccessed در tabs.Tab
ارسال شده در
یک ویژگی جدید به نام lastAccessed به شیء tabs.Tab اضافه شد. این ویژگی نشان میدهد که آخرین بار چه زمانی تب فعال شده است. مقدار برگردانده شده بر حسب میلیثانیه از زمان شروع (epoch) است.
کروم ۱۲۱: کلیدهای «پسزمینه» پشتیبانینشده اکنون هشدار میدهند
ارسال شده در
در تغییر از Manifest V2 به Manifest V3، فرزندان کلید manifest "background" تغییر یافتند تا جایگزینی اسکریپتهای پسزمینه با سرویسدهندههای افزونه را فراهم کنند. پیش از این، اضافه کردن کلیدهای Manifest V2 "scripts" ، "page" یا "persistent" به کلید "background" یک افزونه Manifest V3 باعث ایجاد خطا میشد. اکنون وجود این کلیدها باعث ایجاد هشدار میشود.
این کار برای فعال کردن استفاده از یک فایل مانیفست واحد در افزونهها در چندین مرورگر، طبق پیشنهادی در گروه انجمن ، انجام میشود.
کروم ۱۲۰: حداقل جزئیات هشدار به ۳۰ ثانیه کاهش یافته است
ارسال شده در
از کروم ۱۲۰ به بعد، افزونههای Manifest V3 میتوانند از API chrome.alarms با تأخیر یا دورههای ۳۰ ثانیهای استفاده کنند، به جای اینکه به مقادیر ۶۰ ثانیه یا بیشتر نیاز داشته باشند.
پست وبلاگ: از سرگیری انتقال به Manifest V3
ارسال شده در
جدول زمانی پشتیبانی Manifest V2 بهروزرسانی شده است. برای جزئیات بیشتر به پست وبلاگ نوامبر ۲۰۲۳ ما مراجعه کنید.
پست وبلاگ: بهبود پشتیبانی از فیلترینگ محتوا در Manifest V3
ارسال شده در
در پست وبلاگ جدیدمان ، درباره چگونگی بهبود API اعلانی NetRequest اطلاعات کسب کنید.
پست وبلاگ: چه چیزهایی در کروم ۱۲۰ برای افزونهها جدید است؟
ارسال شده در
نسخه بتای کروم ۱۲۰ اخیراً منتشر شد. برای خلاصهای از بهروزرسانیهای مهم مربوط به توسعهدهندگان افزونهها، پست وبلاگ جدید ما را بخوانید: چه چیزهایی در کروم ۱۲۰ برای افزونهها جدید است . این نسخه همچنین یک نقطه عطف بزرگ را نشان میدهد زیرا دو مورد آخر (userScripts، file handler در ChromeOS) را از فهرست شکافهای حیاتی پلتفرم حذف میکند.
PSA: تغییر در نحوه مدیریت URLهای سیاست حفظ حریم خصوصی در داشبورد توسعهدهندگان
ارسال شده در
سیاستهای حفظ حریم خصوصی در داشبورد توسعهدهندگان اکنون در سطح آیتم اضافه شدهاند. این به شما امکان میدهد برای هر آیتم، سیاست حفظ حریم خصوصی متفاوتی ارائه دهید. درباره این تغییر در PSA ما بیشتر بخوانید.
ویدئو: گفتگو با مت فریزبی
ارسال شده در
ما به تازگی ویدیوی جدیدی را در کانال یوتیوب Chrome for Developers منتشر کردهایم که در آن با مت فریزبی، متخصص توسعهدهندگان گوگل و نویسنده، گفتگو میکنیم. آن را اینجا تماشا کنید.
راهنمایی جدید در مورد آزمایش افزونهها
ارسال شده در
ما به تازگی راهنماییهای جدیدی در مورد نحوه نوشتن تستهای خودکار برای افزونهها منتشر کردهایم، از جمله نحوه نوشتن تستهای واحد و هم راهنمایی عمومی و هم یک آموزش در مورد تست سرتاسری.
پست وبلاگ: چه اتفاقی در افزونههای کروم میافتد - اکتبر ۲۰۲۳
ارسال شده در
ما به تازگی ویرایش دوم « آنچه در افزونههای کروم میگذرد» را منتشر کردهایم. این پست در مورد کارهایی که تیم افزونهها در چند ماه گذشته انجام دادهاند، از جمله رسیدگی به مشکلات پایداری سرویس ورکرها و پیشرفت خوب در رفع تمام شکافهای پلتفرم MV3، بحث میکند. ما همچنین نسخههای هیجانانگیز API مانند Reading List API و User Scripts API را که به زودی منتشر میشوند، به اشتراک میگذاریم.
افزایش محدودیتهای مجموعه قوانین ایستا در API درخواست خالص اعلانی
ارسال شده در
پس از دریافت بازخورد در گروه انجمن افزونههای وب، ما محدودیت مجموعه قوانین استاتیک فعال را از 10 به 50 افزایش میدهیم. علاوه بر این، تعداد کل مجموعه قوانین استاتیک مجاز را از 50 به 100 افزایش میدهیم. این قابلیت در حال حاضر در Canary موجود است.
راهنمایی بهبود یافته در مورد کد میزبانی شده از راه دور
ارسال شده در
یکی از الزامات Manifest V3 این است که افزونهها دیگر نمیتوانند از کد میزبانیشده از راه دور استفاده کنند. اگرچه این موضوع از ابتدا بخشی از راهنمای مهاجرت ما بوده است، اما فکر کردیم که بهبود راهنمایی پیرامون این موضوع ارزشش را دارد. این صفحه اکنون اطلاعات بیشتری ارائه میدهد، آنچه را که هنوز در Manifest V3 امکانپذیر است شرح میدهد و اطلاعات بیشتری در مورد استراتژیهای ارتقاء ارائه میدهد.
یک بخش مرتبط به بخش «عیبیابی تخلفات فروشگاه وب کروم» اضافه شده است. بخش جدیدی که دلایل رایج رد شدن افزونههایی با کد میزبانیشده از راه دور را شرح میدهد.
کروم ۱۱۸: isUrlFilterCaseSensitive اکنون به طور پیشفرض روی false تنظیم شده است
ارسال شده در
از کروم ۱۱۸ به بعد، مقدار پیشفرض ویژگی isUrlFilterCaseSensitive در API مربوط به chrome.declarativeNetRequest به false تغییر یافته است. اگر میخواهید رفتار قدیمی را حفظ کنید، میتوانید صریحاً در قوانین declarativeNetRequest خود، isUrlFilterCaseSensitive روی true تنظیم کنید.
این موضوع در پی بحثهایی در گروه انجمن افزونههای وب مطرح شده است. فایرفاکس و سافاری پیش از این تغییر مشابهی را اعمال کردهاند.
مستندات مربوط به کوکیها و APIهای ذخیرهسازی وب
ارسال شده در
ما یک راهنمای جدید در مورد نحوه عملکرد کوکیها و APIهای ذخیرهسازی وب در افزونههای کروم منتشر کردیم. این راهنما شامل جزئیاتی در مورد تغییرات در تقسیمبندی کوکیها و ذخیرهسازی در Privacy Sandbox ، یک پروژه در حال انجام برای حذف کوکیهای شخص ثالث از طریق ایجاد مجموعهای از APIهای جدید پلتفرم وب، و جزئیاتی در مورد نحوه عملکرد آنها در افزونهها است.
نمونههای افزونه اکنون قابل جستجو هستند
ارسال شده در
ما اخیراً صفحهای ایجاد کردهایم که به شما امکان میدهد نمونههای افزونه کروم را جستجو کنید . صفحه جستجو گزینههای متعددی دارد. یک کادر جستجو به شما امکان میدهد متن را در عناوین نمونه جستجو کنید. میتوانید جستجو را بر اساس مجوز یا API افزونه محدود کنید. یک فیلتر اضافی به شما امکان میدهد جستجو را به API یا نمونههای کاربردی (مورد استفاده) محدود کنید.
این صفحه نمونه جدید توسط یکی از شرکتکنندگان برنامه تابستانی کد گوگل، شوژو دای، ساخته شده است که چندین نمونه جدید نیز ارائه داده است. میتوانید تجربیات آنها را در تابستان گذشته در پست وبلاگ ما بخوانید.
مانند قبل، نمونههای کد ما هنوز در گیتهاب برای کلون کردن یا فورک کردن در دسترس هستند.
کروم ۱۱۸: تغییرات در باز کردن فایل: طرح URLها
ارسال شده در
از نسخه ۱۱۸ کروم، افزونهها برای باز کردن آدرسهای اینترنتی با طرح file:// با استفاده از Tabها یا APIهای ویندوز ، به فعال بودن گزینه «مجاز به دسترسی به آدرسهای اینترنتی فایل» از صفحه chrome://extensions نیاز دارند. میتوانید با فراخوانی chrome.extension.isAllowedFileSchemeAccess() به صورت برنامهنویسی شده، این دسترسی را بررسی کنید. فایرفاکس از قبل آدرسهای اینترنتی فایل را محدود کرده است و سافاری از این تغییر پشتیبانی میکند. برای اطلاعات بیشتر، پست موجود در فهرست پستی افزونههای کروم را مطالعه کنید.
کروم ۱۱۷: محافظتهای گستردهتر از URL در پیمایشهای API افزونهها
ارسال شده در
پیش از این، ناوبری که از فراخوانیهای API افزونه برای tabs.update() ، tabs.create() و windows.create() ایجاد میشد، برای برخی از URLهای chrome:// خطایی ایجاد میکرد. علاوه بر این، فراخوانی tabs.update() با یک URL جاوا اسکریپت ممنوع بود. در نسخه ۱۱۷، این محافظتها روی URLهای جاوا اسکریپت به متد tabs.create() گسترش یافته و تعدادی URL chrome:// دیگر به لیست URLهای ممنوعه که برای همه متدهای ذکر شده قبلی اعمال میشود، اضافه شده است.
راهنمایی بهبود یافته برای declarativeNetRequest API
ارسال شده در
رابط برنامهنویسی کاربردی chrome.declarativeNetRequest با تعیین قوانین اعلانی، درخواستهای شبکه را مسدود یا اصلاح میکند. این به افزونهها اجازه میدهد تا درخواستهای شبکه را بدون رهگیری و مشاهده محتوای آنها تغییر دهند و در نتیجه حریم خصوصی بیشتری را برای کاربران فراهم کنند. استفاده از آن نیز دشوار است. با توجه به این نکته، ما این راهنما را به گونهای بازنویسی کردهایم که فکر میکنیم تصویر واضحتری از نحوه پیادهسازی مجموعه قوانین اعلانی ارائه میدهد. بخش جدید را در لینک بالا بخوانید.
استفاده از حساب گوگل آنالیتیکس خود با فروشگاه وب کروم
ارسال شده در
فروشگاه وب کروم با گوگل آنالیتیکس ادغام شده است که به شما امکان میدهد علاوه بر نمای ارائه شده در داشبورد توسعهدهندگان، تجزیه و تحلیلهای مربوط به فهرست فروشگاه وب کروم خود را نیز مشاهده کنید. برای اطلاعات بیشتر، بخش «استفاده از حساب گوگل آنالیتیکس با فروشگاه وب کروم» را مطالعه کنید.
کروم ۱۱۵: DevTools به طور پیشفرض از اسکریپتهای محتوا عبور میکند
ارسال شده در
اسکریپتهای محتوای تزریقشده اکنون بهطور پیشفرض در فهرست نادیدهگرفتهشدهی DevTools قرار دارند. این موضوع بر نقاط شکست تأثیری ندارد، اما به این معنی است که اسکریپتهای محتوا در طول اشکالزدایی نادیده گرفته میشوند و استثنائات این اسکریپتها نادیده گرفته میشوند. وقتی یک اسکریپت محتوا در برگهی منابع باز است، یک بنر به شما هشدار میدهد که آیا این گزینه فعال است یا خیر و گزینهای برای حذف اسکریپت محتوای شما از فهرست نادیدهگرفتهشده ارائه میدهد. برای غیرفعال کردن این رفتار، DevTools را باز کنید، به تنظیمات و سپس فهرست نادیدهگرفتهشده بروید. برای کسب اطلاعات بیشتر، به «چه چیزهای جدیدی در DevTools وجود دارد» مراجعه کنید.
نسخه بتای کروم ۱۱۶: بیشتر از آنچه که بتوانیم اینجا جا دهیم
ارسال شده در
کروم ۱۱۶ یک نسخه بزرگ برای افزونهها است. اکنون میتوانید پنلهای کناری را به صورت برنامهنویسی باز کنید. یک روش جدید به شما امکان میدهد بفهمید که آیا یک سند فعال خارج از صفحه وجود دارد یا خیر. سرویس ورکرها بهبودهای سروری داشتهاند. در کروم ۱۱۶ به اندازهای بهبود وجود دارد که ما یک پست وبلاگ برای پوشش آنها نوشتهایم. کروم ۱۱۶ از ۱۹ جولای در مرحله بتا است.
پست وبلاگ: چه اتفاقی در افزونههای کروم میافتد
ارسال شده در
ما به تازگی مروری بر تغییرات و بهبودهای افزونههای امسال منتشر کردهایم. این پست به ویژگیهای جدید و بزرگ امسال، از جمله API پنل کناری، بهبودهای سرویس ورکر و اسناد خارج از صفحه میپردازد. همچنین میتوانید نگاهی اجمالی به آنچه که برای این سه ماهه روی آن کار میکنیم، بیندازید. این مقاله موارد بسیار بیشتری را به همراه لینک به همه آنها فهرست کرده است.
راهنمایی و نمونه جدید: یاد بگیرید چگونه از گوگل آنالیتیکس ۴ در افزونه کروم خود استفاده کنید
ارسال شده در
ما راهنماییها و نمونههای جدید گوگل آنالیتیکس و موقعیت جغرافیایی را منتشر کردیم:
- نسخه بهروز شدهای از راهنمای گوگل آنالیتیکس ما که نحوه استفاده از گوگل آنالیتیکس ۴ را در افزونه کروم شما توضیح میدهد. ما همچنین یک نمونه گوگل آنالیتیکس ۴ در حال کار را به مخزن نمونه گیتهاب خود اضافه کردهایم. برای کد مربوطه مربوط به گوگل آنالیتیکس
google-analytics.jsرا بررسی کنید. - یک راهنمای جدید موقعیت مکانی و سه نمونه که نحوه دسترسی به موقعیت مکانی را در سرویس ورکرها، اسکریپتهای محتوا، پنجرههای بازشو و پنلهای جانبی نشان میدهد.
کروم ۱۱۵: دلایل متعددی را در chrome.offscreen.createDocument() مشخص کنید
ارسال شده در
اکنون میتوانید هنگام فراخوانی chrome.offscreen.createDocument() چندین enum reason مشخص کنید. از این مورد زمانی استفاده کنید که یک سند خارج از صفحه برای چندین هدف مختلف استفاده شود. مرورگر از دلایل ارائه شده برای تعیین طول عمر سند خارج از صفحه استفاده میکند.
ابزار جدید: ابزار تست بهروزرسانی افزونهها
ارسال شده در
ما به تازگی ابزار تست بهروزرسانی افزونهها را منتشر کردهایم، یک سرور بهروزرسانی افزونه محلی که میتواند برای آزمایش بهروزرسانیهای افزونههای کروم در طول توسعه محلی، از جمله اعطای مجوزها، مورد استفاده قرار گیرد. این ابزار جریان بهروزرسانی کاربر، از جمله غیرفعال نگه داشتن افزونه تا زمانی که کاربر مجوزهای جدید درخواستی را اعطا کند، نشان میدهد. این ابزار به ویژه برای شبیهسازی تغییرات مجوز درخواستی هنگام بهروزرسانی یک افزونه از Manifest V2 به Manifest V3 مفید است.
کروم ۱۱۴: رابط برنامهنویسی کاربردی جدید پنل کناری
ارسال شده در
معرفی API جدید پنل کناری، یک سطح همراه که به کاربران امکان دسترسی به ابزارها را در کنار محتوایی که مرور میکنند، میدهد. برای کسب اطلاعات بیشتر، به مرجع API پنل کناری مراجعه کنید. علاوه بر این، ما نمونههای پنل کناری زیادی را به مخزن نمونه GitHub خود اضافه کردهایم. ما همچنین در پست وبلاگ جدید «طراحی یک تجربه کاربری برتر با API پنل کناری جدید» اطلاعات بیشتری در مورد پنلهای کناری به اشتراک میگذاریم. سیاست دستورالعملهای کیفیت و بهترین شیوههای ما نیز بررسی شدهاند تا راهنماییهای بیشتری در مورد ایجاد افزونههای پنل کناری با کیفیت بالا ارائه دهند.
بازخورد شما در ساخت این API مهم است؛ لطفاً نظرات و درخواستهای خود را در گروههای کرومیوم به اشتراک بگذارید. منتظر بهروزرسانیهای جدید باشید تا ما همچنان به بهبود API پنل کناری ادامه دهیم.
نمونههای جدید: WASM در افزونهها
ارسال شده در
دو نمونه جدید موجود است که نحوه استفاده از WASM را در یک افزونه نشان میدهد:
- استفاده از WASM در Manifest V3 روش کلی برای گنجاندن یک ماژول WASM را نشان میدهد.
- استفاده از WASM به عنوان یک ماژول در Manifest V3 نحوه استفاده از آن را در یک ماژول نشان میدهد.
تشکر ویژه از همکار گیتهاب @daidr برای این نمونهها.
بهروزرسانی راهنمای مهاجرت Manifest V3
ارسال شده در
ما بخش « مشکلات شناختهشده» در راهنمای مهاجرت Manifest V3 خود را با فهرستی بهروز شده از شکافهای پلتفرم افزونه که قصد داریم قبل از اعلام جدول زمانی جدید منسوخ شدن Manifest V2 برطرف کنیم، بهروزرسانی کردهایم.
ضبط صدا و تصویر با Manifest V3
ارسال شده در
ما به تازگی مقاله جدیدی با عنوان ضبط صدا و ضبط صفحه نمایش منتشر کردهایم که ضبط صدا یا تصویر از یک تب، پنجره یا صفحه نمایش در Manifest V3 را پوشش میدهد. این مقاله رویکردهای متعددی برای ضبط شامل chrome.tabCapture API و تابع getDisplayMedia() را شرح میدهد.
کروم ۱۱۴: افزایش سهمیه storage.local
ارسال شده در
ما سهمیهی ویژگی storage.local را تقریباً به ۱۰ مگابایت افزایش دادهایم. این موضوع در گروه انجمن افزونههای وب مورد توافق قرار گرفته است. این امر storage.local را با storage.session که در کروم ۱۱۲ تغییر یافته بود، همسو میکند.
آموزش و کمک جدید برای کارکنان خدمات ترویجی
ارسال شده در
سرویس ورکرها بخش جداییناپذیر افزونههای کروم هستند. ما به تازگی یک آموزش منتشر کردهایم که اصول اولیه ثبت، اشکالزدایی و تعامل با سرویس ورکرها را توضیح میدهد. همچنین یک راهنمای جدید برای سرویس ورکرها اضافه کردهایم که مفاهیم مهم را با جزئیات بیشتری توضیح میدهد. این بخش را در ماههای آینده گسترش خواهیم داد.
نکات عیبیابی بیشتر برای تخلفات فروشگاه وب
ارسال شده در
برای کمک به انتشار در فروشگاه وب کروم، ما راهنماییهای جدیدی را در دو زمینه اضافه کردهایم. راهنمایی برای حداقل عملکرد ، حول محور ارائه مزایا به کاربران و غنیسازی تجربه مرور آنها میچرخد. راهنمایی برای تبلیغات وابسته ، در مورد آگاهسازی کاربران از افزونههایی است که از لینکها یا کدهای وابسته برای کسب درآمد استفاده میکنند و با ملزم کردن کاربر قبل از گنجاندن، به آنها مقداری کنترل میدهد.
دستورالعملهای جدید برای مبدل مانیفست افزونه
ارسال شده در
ما فایل README مربوط به مبدل مانیفست افزونهها را بازنویسی کردهایم تا پس از اجرای ابزار، راحتتر بتوانید ببینید چه کاری باید انجام دهید. این مبدل به مهاجرت افزونههای ساخته شده بر روی Manifest V2 به Manifest V3 کمک میکند. README جدید با استفاده از کلماتی که با کلمات موجود در چک لیست راهنمای مهاجرت مطابقت دارند، عملکرد ابزار را شرح میدهد. مبدل همه کارها را انجام نمیدهد، اما بسیاری از کارهایی را که نیازی به قضاوت انسانی ندارند، حذف میکند.
کروم ۱۱۳: دلایل جدید برای اسناد خارج از صفحه
ارسال شده در
ما دو نوع دلیل جدید به API اسناد Offscreen اضافه کردهایم. LOCAL_STORAGE برای دسترسی به API ذخیرهسازی محلی پلتفرم وب استفاده کنید. هنگام ایجاد کارگران وب WORKER استفاده کنید.
گوگل آنالیتیکس ۴ اکنون در داشبورد توسعهدهندگان قرار دارد
ارسال شده در
داشبورد توسعهدهندگان فروشگاه وب کروم اکنون از گوگل آنالیتیکس ۴ (GA4) پشتیبانی میکند. ما راهاندازی گوگل آنالیتیکس را سادهتر کرده و مدیریت دسترسی را برای ناشران گروهی سادهتر کردهایم. اگر قبلاً از گوگل یونیورسال آنالیتیکس برای ردیابی فعالیت فهرست فروشگاه خود استفاده میکردید، باید تا ۱ ژوئیه ۲۰۲۳ اقدامی انجام دهید تا اطمینان حاصل شود که همچنان دادههای مربوط به فهرست فروشگاه خود را دریافت میکنید. برای اطلاعات بیشتر، به پست موجود در فهرست پستی افزونههای کروم مراجعه کنید.
رابط برنامهنویسی مدیریت فایل (File Handling API) به سیستم عامل کروم (ChromeOS) میآید
ارسال شده در
رابط برنامهنویسی کاربردی مدیریت فایل (File Handler API) برای آزمایش در سیستمعامل کروم (ChromeOS) در نسخههای Canary و 112 و 113 در دسترس است. این رابط به افزونههای موجود در سیستمعامل کروم اجازه میدهد تا فایلهایی با انواع MIME و پسوندهای فایل مشخص شده را باز کنند. برای پیادهسازی مدیریت فایل، مجموعهای از قوانین را به فایل manifest.json اضافه کنید. این ویژگی مانند برنامههای وب پیشرفته (PWA) عمل میکند. برای اطلاعات بیشتر، به مقاله دیگری در این سایت مراجعه کنید.
برای فعال کردن مدیریت فایل:
- از شماره ۱۱۲ به بعد، کروم را با استفاده از فلگ
--enable-features=ExtensionWebFileHandlersاجرا کنید، که از شماره ۱۱۲ شروع میشود. - از نسخه ۱۱۳ شروع کنید،
os://flags/#extension-web-file-handlersدر نوار ابزار کروم پیست کنید و از منوی کشویی گزینه «فعال» (Enabled) را انتخاب کنید.
ما امیدواریم که این ویژگی را در اواخر ژوئن در کروم ۱۱۵ راهاندازی کنیم. برای بهروزرسانیها، این قسمت را دنبال کنید.
نمونههای جدید: اعلانهای پویا و تزریق برنامهنویسی
ارسال شده در
ما یک نمونه جدید برای API chrome.scripting ساختهایم. این نمونه اعلانهای پویا، که در آن یک اسکریپت محتوا در زمان اجرا ثبت میشود، و تزریق برنامهای، که در آن یک اسکریپت در یک تب که از قبل باز است اجرا میشود، را نشان میدهد.
نمونههای جدید: موارد استفاده از درخواست اعلانی Net
ارسال شده در
سه نمونه جدید برای نمایش API درخواست اعلانی Net در دسترس هستند. هر کدام پیادهسازی یک مورد استفاده واحد را نشان میدهند. اولین مورد نحوه مسدود کردن کوکیها را نشان میدهد. دو مورد باقیمانده مسدود کردن و هدایت URLها را نشان میدهند.
کروم ۱۱۲: افزایش سهمیه storage.session
ارسال شده در
از کروم ۱۱۲، سهمیهی مربوط به ویژگی storage.session تقریباً به ۱۰ مگابایت افزایش یافته است. این موضوع در گروه انجمن افزونههای وب مورد توافق قرار گرفته است: https://github.com/w3c/webextensions/issues/350
کروم ۱۰۹: اسناد خارج از صفحه
ارسال شده در
اسناد خارج از صفحه اکنون در افزونههای Manifest V3 در دسترس هستند. این افزونهها با پشتیبانی از ویژگیها و APIهای مرتبط با DOM، به انتقال از صفحات پسزمینه به افزونههای سرویسدهنده کمک میکنند. برای اطلاعات بیشتر، پست وبلاگ را بخوانید .
کروم ۱۱۰: آیا افزونه فعال است؟
ارسال شده در
متد chrome.action.isEnabled() به صورت برنامهنویسی بررسی میکند که آیا یک افزونه برای یک تب خاص فعال شده است یا خیر. این کار شما را از حفظ وضعیت فعال بودن تبهایتان بینیاز میکند. این متد جدید یک شناسه تب و یک ارجاع به یک فراخوانی دریافت میکند و یک مقدار بولی برمیگرداند. این متد یک محدودیت دارد: تبهایی که با استفاده از chrome.declarativeContent ایجاد میشوند، همیشه مقدار false برمیگردانند.
(فضای نام chrome.action اخیراً روشهای جدیدی برای کنترل ظاهر نشانهای افزونه دریافت کرده است. برای اطلاعات بیشتر، به تنظیم رنگهای نشان مراجعه کنید.)
کروم ۱۱۰: تغییر در زمان بیکاری سرویس ورکر
ارسال شده در
Previously, an extension service worker would frequently shut down at the five minute mark. We've changed this behavior to more closely resemble service worker lifetime's on the web. An extension service worker will be shut down after either thirty seconds of inactivity or if a single activity takes longer than 5 minutes to process. For more information, see Longer extension service worker lifetimes .
Post: Pausing Manifest V2 phase-out
ارسال شده در
The Manifest V2 deprecation timelines are under review and the experiments scheduled for early 2023 are being postponed. For more information, read the update in the Chrome Extensions Mailing List.
Chrome 110: Setting badge colors
ارسال شده در
The chrome.action namespace has two new methods to give you more control over the appearance extension badges. The setBadgeTextColor() and getBadgeTextColor() methods allow an extension to change and query its toolbar icon's badge text color. When used with setBadgeBackgroundColor and getBadgeBackgroundColor these new methods let you enforce design and brand consistency.
Blog post: More details on the transition to Manifest V3
ارسال شده در
We have clarified the Manifest V2 deprecation timeline . The Manifest V2 support timeline has also been updated to reflect this information.
Docs update: Known issues when migrating to Manifest V3
ارسال شده در
We've put together a list of major features currently in development and open bugs . Our goal with this page is to help developers better understand the current state of the platform and what features they can target as they prepare for the future.
Chrome Web Store: "large promo tile" image upload removed
ارسال شده در
Chrome Web Store has removed the "large promo tile" upload UI from the item Store Listing tab in the developer dashboard. This change does not affect the end user experience as these images were not used in the consumer UI. See this chromium-extensions post for additional details.
Chrome 106: Allow pages on file:// urls to access web accessible resources
ارسال شده در
Opaque origins such as sandboxed iframes and dynamic import should also be able to access web accessible resources, according to crbug.com/1219825#c11 .
Chrome 106: Fixed bug allowing incorrect final arguments on some async API functions
ارسال شده در
Previously, Manifest V3 calling async APIs could provide an invalid final argument and Chrome would not error. With this fix Chrome will now correctly error and report that there was no matching signature. Developers are encouraged to check their extensions on Canary for any errors in case they accidentally using incorrect signature for an API call that will be broken by this bug fix.
Blog post: Chrome Web Store analytics revamp
ارسال شده در
Chrome Web Store has a revamped item analytics experience for the Chrome Web Store Developer Dashboard. The new dashboard is easier to understand at a glance and consolidates the most useful information up front. Read the blog post for more information.
Chrome 105: promises for the Identity API
ارسال شده در
Functions on the Identity API now support promise based calls. This comes with a slight change to the surface for identity.getAuthToken() , where the asynchronous return set to a promise based call will have "token" and "grantedScopes" as parameters on a single object (as opposed to the callback version receiving them as separate arguments to the callback).
Chrome 104: New favicons API for Manifest V3
ارسال شده در
Manifest V3 extensions can now access favicons using a new URL pattern: chrome-extension://<id>/_favicon/ , wherechrome://favicons API. See the Favicon API docs for more information.
Docs update: Developer trader/non-trader disclosure
ارسال شده در
Added the trader/non-trader developer identification that informs developers to accurately self-declare their trader/non-trader status.
Chrome 103: Wasm in Manifest V3 requires wasm-unsafe-eval
ارسال شده در
Chrome no longer grants extensions script-src: wasm-unsafe-eval by default. Extensions that use WebAssembly must now explicitly add this directive and value to extension_pages in their content_security_policy declarations.
Chrome 103: Changing MV3 shortcuts take effect immediately
ارسال شده در
When changing a Manifest V3 extension's keyboard shortcut on chrome://extensions/shortcuts , updates are now applied immediately. Previously the extension would have to be reloaded before the change would take effect.
Chrome 102: Dynamic content scripts in main world
ارسال شده در
Dynamically registered content scripts can now specify the world that assets will be injected into. See scripting.registerContentScripts() for details.
Chrome 102: New manifest field "optional_host_permissions"
ارسال شده در
Manifest V3 extensions can now specify the optional_host_permissions key in manifest.json. This allows Manifest V3 extensions to declare optional match patterns for hosts just as Manifest V2 extensions could using the optional_permissions key.
Chrome 102: injectImmediately property in scripting.executeScript()
ارسال شده در
chrome.scripting.executeScript() now accepts an optional injectImmediately property on it's injection argument. If present and set to true, the script will inject into the target as soon as possible, rather than waiting for document_idle . Note that this is not a guarantee the script will inject before the page is loaded since the page continues to load while the API call is being made.
Chrome 102: Omnibox API support in Manifest V3
ارسال شده در
The Omnibox API can now be used in service worker-based extensions. Previously, some of this API's methods would throw on invocation due to internal dependencies on DOM capabilities.
Chrome 102: wasm-unsafe-eval allowed in Manifest V3 CSP
ارسال شده در
Manifest V3 extensions can now include wasm-unsafe-eval in their content_security_policy declarations. This change allows Manifest V3 extensions to use WebAssembly.
Chrome 102: New storage.session API
ارسال شده در
Manifest V3 extensions can now use in memory storage storage.session .
Docs update: Chrome Web Store item discovery
ارسال شده در
Discovery on Chrome Web Store gives an overview of how users find items on the Chrome Web Store and how our editors select items to feature.
Chrome 101: Improved declarativeNetRequest domain conditions
ارسال شده در
declarativeNetRequest rule conditions have been updated to allow extensions to better target requests based on the request's "request" and "initiator" domains. The relevant condition properties are initiatorDomains , excludedInitiatorDomains , requestDomains , and excludedRequestDomains . See also this chromium-extensions thread .
Chrome 100: Resolved issue with scripting.executeScript() on newly created tabs
Fixed a longstanding issue where calling scripting.executeScript() on a newly created tab or window could fail.
Chrome 100: native messaging port keeps service worker alive
ارسال شده در
Connecting to a native messaging host using chrome.runtime.connectNative() in an extension's service worker should keep the service worker alive as long as the port is open.
Chrome 100: omnibox.setDefaultSuggestion() supports promises and callbacks
ارسال شده در
The omnibox.setDefaultSuggestion() method now returns a promise or accepts a callback to allow developers to determine when the suggestion has been properly set.
Chrome 100: i18n.getMessage() support in extension service workers
ارسال شده در
The chrome.i18n.getMessage() API is now supported in extension service worker contexts.
Chrome 99: match_origin_as_fallback in Canary
ارسال شده در
Content scripts can now specify the match_origin_as_fallback key to inject into frames that are related to a matching frame, including frames with about: , data: , blob: , and filesystem: URLs. See the content scripts documentation for details.
Chrome 99: extension service worker support for file: schemes in Canary
ارسال شده در
Service worker-based Manifest V2 and Manifest V3 extensions can now use the Fetch API to request file: -scheme URLs. Access to file: -scheme URLs still requires that the user enable 'Allow access to File URLs' for the extension in the chrome://extensions page.
Chrome 99: promise support for messaging APIs in Canary
ارسال شده در
Promise support has been added to tabs.sendMessage , runtime.sendMessage , and runtime.sendNativeMessage for extensions built for Manifest V3.
Docs update: Chrome Web Store review documentation
ارسال شده در
Added a new reference page that provides an overview of the Chrome Web Store review process and explains how developer program policy enforcement is handled.
Chrome 98: scripting.executeScript() and scripting.insertCSS() accept multiple files
ارسال شده در
The Scripting API's executeScript() and insertCSS() methods now accept multiple files. Previously these methods required an array with a single file entry.
Docs update: review violation troubleshooting updates
ارسال شده در
The Troubleshooting Chrome Web Store violations page has been updated to provide developers with more detailed guidance for common reasons for rejection.
Chrome 96: expanded promise support to 27 more APIs
ارسال شده در
This release contains significantly more promise updates than any previous release. Updates include both general and ChromeOS-specific extensions APIs. Expand the following sections for details.
Extensions APIs
A number of APIs now support promises in 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
Also, APIs that use the ChromeSetting prototype now also support promises. The following APIs are affected by this change.
ChromeOS APIs
-
chrome.certificateProvider -
chrome.documentScan -
chrome.enterprise.deviceAttributes -
chrome.enterprise.networkingAttributes -
chrome.fileBrowserHandler -
chrome.fileSystemProvider -
chrome.loginState -
chrome.printingMetrics -
chrome.wallpaper
Chrome 96: dynamic content scripts
ارسال شده در
The chrome.scripting API now supports registering , updating , unregistering , and getting a list of content scripts at runtime. Previously, content scripts could only be statically declared in an extension's manifest.json or programmatically injected at runtime with chrome.scripting.executeScript() .
Docs update: Manifest V2 support timeline
ارسال شده در
The Manifest V2 to V3 transition timeline was announced in this blog post and a more detailed timeline page was published.
Chrome 96: declarativeNetRequestWithHostAccess permission
ارسال شده در
The new declarativeNetRequestWithHostAccess permission allows extensions to use the chrome.declarativeNetRequest API on sites the extension has host permissions for. This also enables existing Manifest V2 extensions that use webRequest , webRequestBlocking , and site-specific host permission to migrate to the chrome.declarativeNetRequest API without requiring the user to approve new permissions.
Chrome 95: inject scripts directly into pages
ارسال شده در
The chrome.scripting API's executeScript() method can now inject scripts directly into a page's main world. Previously, extensions could only inject directly into the extension's isolated world. For more information on isolated worlds, see the documentation on content scripts .
Chrome 95: promise support for Storage API
ارسال شده در
Methods on the Manifest V3 version of the chrome.storage API now return promises.
Policy update: two step verification enforcement
ارسال شده در
The policy update blog post published on June 29, 2021 has been updated to correct the two step verification deployment timeline.
Chrome 94: declarative net request static ruleset changes
ارسال شده در
The chrome.declarativeNetRequest now supports specifying up to 50 static rulesets ( MAX_NUMBER_OF_STATIC_RULESETS ) and enabling up to 10 rulesets ( MAX_NUMBER_OF_ENABLED_STATIC_RULESETS ) at a time.
Chrome 93: cross origin isolation support
ارسال شده در
Both Manifest V2 and Manifest V3 extensions can now opt into cross origin isolation . This feature limits which cross-origin resources can load an extension's pages and enables the use of low level web platform features like SharedArrayBuffer . Opt in will be required starting in Chrome 95.
Policy update: developer program policies updated
ارسال شده در
The Chrome Web Store Developer Program Policies have been updated with clarifications to the deceptive installation tactics, spam, and repetitive content policies. This update also includes a new two step verification requirement to publish on the Chrome Web Store. Read the blog post for more information.
Blog post: extension actions in Manifest V3
ارسال شده در
Chrome extensions had chrome.browserAction and chrome.pageActions APIs for years, but Manifest V3 replaced both with a generic chrome.actions API. This post explores the history of these APIs and what has changed in Manifest V3. Read the post .
Blog post: introducing chrome.scripting
ارسال شده در
The chrome.scripting API is a new Manifest V3 API focused on, well, scripting. In this post we dig into the motivations for this change and take a closer look at it's new capabilities. Read the post .
Chrome 92: module service worker support
ارسال شده در
Chrome now supports JavaScript modules in service workers. To specify a module a module in your manifest:
"background": {
"service_worker": "script.js",
"type": "module"
}
This loads the worker script as an ES module, which lets you use the import keyword in the worker's script to import other modules.
Chrome 91: chrome.action.getUserSettings()
ارسال شده در
The new chrome.action.getUserSettings() method allows extensions to determine if the user has pinned the extension to the main toolbar.
Chrome 90: chrome.scripting.removeCSS()
ارسال شده در
The new chrome.scripting.removeCSS() method allows extensions to remove CSS that was previously inserted via chrome.scripting.insertCSS() . It replaces chrome.tabs.removeCSS() .
Chrome 90: returning promises from scripting.executeScript()
ارسال شده در
chrome.scripting.executeScript() now supports returning promises. If the resulting value of the script execution is a promise, Chrome will wait for the promise to settle and return its resulting value.
Chrome 90: chrome.scripting.executeScript() results include frameId
ارسال شده در
Results returned from chrome.scripting.executeScript() now include the frameId . The frameId property indicates the frame that the result is from, letting extensions easily associate results with the individual frames when injecting in multiple frames.
Chrome 89: new API for managing tab groups
ارسال شده در
The new chrome.tabGroups API and new capabilities in chrome.tabs let extensions read and manipulate tab groups. Requires Manifest V3.
Chrome 89: customizable permissions for web accessible resources
ارسال شده در
Web accessible resources definitions in Manifest V3 have changed to let extensions restrict resource access based on the requester's origin or extension ID.
Blog post: Extension Manifest Converter
ارسال شده در
The Chrome Extensions team has open sourced "Extension Manifest Converter", a Python tool that automates some of the mechanical aspects of converting extensions to Manifest V3. See the announcement blog post and get it from GitHub .
Chrome 88: Manifest V3 general availability
ارسال شده در
Manifest V3 is a major update to the extensions platform; see Overview of Manifest V3 for a summary of new and changed features. Extensions may continue to use Manifest V2 for now, but this will be phased out in the near future. We strongly recommend that you use Manifest V3 for any new extensions, and begin migrating existing extensions to Manifest V3 as soon as possible.