آنچه در افزونه های کروم جدید است

برای کسب اطلاعات بیشتر در مورد تغییرات افزونه‌های کروم، مستندات افزونه‌ها، یا سیاست‌های مرتبط یا سایر تغییرات، مرتباً این صفحه را بررسی کنید. اطلاعیه‌های دیگری را که در فهرست پستی افزونه‌های کروم منتشر شده‌اند، خواهید یافت. برنامه کروم، تاریخ انتشار نسخه‌های پایدار و بتا را فهرست می‌کند.

پست وبلاگ: با گسترش نقش‌ها در داشبورد توسعه‌دهندگان، تیم خود را توانمند کنید

ارسال شده در

اکنون می‌توانید اعضا را مستقیماً به حساب ناشر فروشگاه وب کروم خود دعوت کنید و یکی از چهار نقش متمایز را به آنها اختصاص دهید. دیگر نیازی به ایجاد یک ناشر جداگانه یا اضافه کردن اعضا به یک گروه گوگل نیست. این کار را می‌توان بدون هیچ هزینه‌ای و بدون پرداخت هزینه ثبت‌نام ۵ دلاری انجام داد. برای اطلاعات بیشتر به پست وبلاگ مراجعه کنید.

پست وبلاگ: باز کردن قفل کلون ساختاریافته برای پیام‌رسانی افزونه‌های کروم

ارسال شده در

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

پست وبلاگ: فروشگاه وب کروم: فرآیند تجدیدنظر هوشمندانه‌تر و سریع‌تر

ارسال شده در

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

کروم ۱۴۸: فضای نام مرورگر

ارسال شده در

تمام APIهای افزونه‌های کروم اکنون تحت فضای نام browser به عنوان جایگزینی برای فضای نام chrome در مرورگرهای مختلف، از کروم ۱۴۸ به بعد، در دسترس هستند. برای راهنمایی در مورد نحوه‌ی استفاده از فضای نام مرورگر، به «فضای نام مرورگر » مراجعه کنید.

پست وبلاگ: انتشار در سازمان‌های خارجی

ارسال شده در

اکنون می‌توانید افزونه‌های خود را به صورت خصوصی برای سازمان‌های خارجی که آنها را تأیید می‌کنند منتشر کنید. نحوه انتشار در سازمان‌های خارجی را بیاموزید.

ویدیو: چگونه بفهمیم درخواست مجوزها در افزونه کروم امن است یا خیر

ارسال شده در

در جدیدترین ویدیوی ما، درباره نحوه ارائه مجوز جدید به افزونه‌تان به کاربران بیاموزید.

ویدیو: هر آنچه در سال ۲۰۲۵ برای افزونه‌های کروم اتفاق افتاد

ارسال شده در

الیور سال ۲۰۲۵ را با نگاهی به تمام چیزهایی که در این سال عرضه شدند، به پایان می‌رساند - همین حالا آن را تماشا کنید .

ویدیو: آیا می‌توانید یک افزونه کروم برای همه مرورگرها بسازید؟

ارسال شده در

در جدیدترین ویدیوی ما، نحوه ساخت یک افزونه چند مرورگره را بیاموزید.

ویدیو: چگونه می‌توانید کلیدهای API را در افزونه‌های کروم ایمن نگه دارید؟

ارسال شده در

در جدیدترین ویدیوی ما بیاموزید که چگونه کلیدهای API را ایمن نگه دارید.

ویدیو: پاسخ به سوالات شما در مورد قابلیت کشف فروشگاه وب کروم

ارسال شده در

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

کروم ۱۴۰: رابط برنامه‌نویسی کاربردی جدید sidePanel.getLayout()

ارسال شده در

از کروم ۱۴۰ به بعد، از API جدید sidePanel.getLayout() برای تعیین موقعیت پنل کناری در سمت چپ یا راست صفحه استفاده کنید. این قابلیت به ویژه در صورتی مفید است که از زبان‌های RTL پشتیبانی می‌کنید، در حالی که پیش‌فرض نصب‌های جدید کروم متفاوت است.

راهنمای جدید: چرخه عمر به‌روزرسانی افزونه‌ها

ارسال شده در

ما یک راهنمای جدید منتشر کردیم که نحوه به‌روزرسانی افزونه‌ها در کروم را توضیح می‌دهد .

کروم ۱۳٩: حذف پرچم‌های --extensions-on-chrome-urls و --disable-extensions-except در نسخه‌های دارای برند کروم

ارسال شده در

از نسخه ۱۳۹ کروم، پرچم‌های خط فرمان --extensions-on-chrome-urls و --disable-extensions-except در نسخه‌های رسمی کروم حذف خواهند شد. برای اطلاعات بیشتر به فهرست ایمیل مراجعه کنید.

کروم ۱۳۸: تغییرات در صفحه تب جدید

ارسال شده در

با شروع از کروم ۱۳۸، رابط کاربری صفحه تب جدید را با یک پاورقی جدید به‌روزرسانی می‌کنیم. می‌توانید اطلاعات بیشتر را در فهرست ایمیل کسب کنید.

پست وبلاگ: افزونه‌های خود را قبل از تغییرات آتی بوکمارک‌ها به‌روزرسانی کنید

ارسال شده در

ما در حال ایجاد تغییراتی در همگام‌سازی نشانک‌ها هستیم که ممکن است بر افزونه شما تأثیر بگذارد. برای اطلاعات بیشتر به پست وبلاگ مراجعه کنید.

پست وبلاگ: چه اتفاقی در افزونه‌های کروم، ژوئن ۲۰۲۵ می‌افتد

ارسال شده در

ما با کنفرانس گوگل آی/او و چندین ویژگی جدید در کروم و فروشگاه وب کروم حسابی مشغول بوده‌ایم. در ژوئن ۲۰۲۵ از آخرین اخبار افزونه‌های کروم مطلع شوید!

ویدیو: بازی Whack-a-Mole در مرورگر شما - آیا این امکان وجود دارد!؟

ارسال شده در

در جدیدترین ویدیوی ما، نحوه ساخت بازی در مرورگر را کشف کنید.

ویدیو: توضیح منوی افزونه‌های جدید کروم

ارسال شده در

در جدیدترین ویدیوی ما، با عنوان «توضیح منوی جدید افزونه‌های کروم»، درباره منوی افزونه‌های آزمایشی جدید بیشتر بدانید.

ویدیو: اکستنشن‌ها مرتب هستند!

ارسال شده در

در قسمت اول «افزونه‌ها عالی هستند» کشف کنید که چگونه می‌توانید توسعه افزونه‌ها را شروع کنید، و در قسمت دوم ببینید که سفارشی‌سازی کروم چقدر انعطاف‌پذیر است!

کروم ۱۳۵: رابط برنامه‌نویسی جدید userScripts.execute()

ارسال شده در

از کروم ۱۳۵ به بعد، متد جدید userScripts.execute() در API مربوط به chrome.userScripts موجود است. می‌توانید از این متد برای تزریق یک اسکریپت کاربری، یک بار در هر زمان دلخواه، به جای نیاز به ثبت دائمی آن، استفاده کنید.

کروم ۱۳۲: مشاهده و ویرایش فضای ذخیره‌سازی افزونه‌ها در DevTools

ارسال شده در

از کروم ۱۳۲ به بعد، می‌توانید داده‌های ذخیره‌شده را با استفاده از API مربوط به chrome.storage در DevTools مشاهده و ویرایش کنید. برای کسب اطلاعات بیشتر، به صفحه جدید «مشاهده و ویرایش فضای ذخیره‌سازی افزونه‌ها» در مستندات DevTools مراجعه کنید.

پست وبلاگ: منوی افزونه‌های جدید

ارسال شده در

در کنفرانس گوگل آی/او ۲۰۲۴، ما برخی از طرح‌های اولیه برای تغییرات آتی در منوی افزونه‌ها را به اشتراک گذاشتیم که به کاربران کنترل بیشتری بر سایت‌هایی که افزونه‌ها می‌توانند به آنها دسترسی داشته باشند، می‌دهد. ما به زودی آزمایش این تغییرات را آغاز خواهیم کرد و این کار را با درصد کمی از کاربران در نسخه 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 اضافه می‌کنیم. این یک درخواست رایج بود، به خصوص برای تطبیق هدر نوع محتوا، و ما یک 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 مراجعه کنید و مستندات و نمونه‌های به‌روز شده ما را ببینید.

پست وبلاگ: افزونه‌های کروم در کنفرانس گوگل آی/او ۲۰۲۴

ارسال شده در

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

صرف نظر از بررسی برای تغییرات درخواست شبکه اعلانی واجد شرایط

ارسال شده در

فروشگاه وب کروم اکنون به شما امکان می‌دهد هنگام استفاده از 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 پنل کناری، بهبودهای سرویس ورکر و اسناد خارج از صفحه می‌پردازد. همچنین می‌توانید نگاهی اجمالی به آنچه که برای این سه ماهه روی آن کار می‌کنیم، بیندازید. این مقاله موارد بسیار بیشتری را به همراه لینک به همه آنها فهرست کرده است.

راهنمایی و نمونه جدید: یاد بگیرید چگونه از گوگل آنالیتیکس ۴ در افزونه کروم خود استفاده کنید

ارسال شده در

ما راهنمایی‌ها و نمونه‌های جدید گوگل آنالیتیکس و موقعیت جغرافیایی را منتشر کردیم:

کروم ۱۱۵: دلایل متعددی را در chrome.offscreen.createDocument() مشخص کنید

ارسال شده در

اکنون می‌توانید هنگام فراخوانی chrome.offscreen.createDocument() چندین enum reason مشخص کنید. از این مورد زمانی استفاده کنید که یک سند خارج از صفحه برای چندین هدف مختلف استفاده شود. مرورگر از دلایل ارائه شده برای تعیین طول عمر سند خارج از صفحه استفاده می‌کند.

ابزار جدید: ابزار تست به‌روزرسانی افزونه‌ها

ارسال شده در

ما به تازگی ابزار تست به‌روزرسانی افزونه‌ها را منتشر کرده‌ایم، یک سرور به‌روزرسانی افزونه محلی که می‌تواند برای آزمایش به‌روزرسانی‌های افزونه‌های کروم در طول توسعه محلی، از جمله اعطای مجوزها، مورد استفاده قرار گیرد. این ابزار جریان به‌روزرسانی کاربر، از جمله غیرفعال نگه داشتن افزونه تا زمانی که کاربر مجوزهای جدید درخواستی را اعطا کند، نشان می‌دهد. این ابزار به ویژه برای شبیه‌سازی تغییرات مجوز درخواستی هنگام به‌روزرسانی یک افزونه از Manifest V2 به Manifest V3 مفید است.

کروم ۱۱۴: رابط برنامه‌نویسی کاربردی جدید پنل کناری

ارسال شده در

معرفی API جدید پنل کناری، یک سطح همراه که به کاربران امکان می‌دهد در کنار محتوایی که مرور می‌کنند، به ابزارها نیز دسترسی داشته باشند. برای کسب اطلاعات بیشتر، به مرجع API پنل کناری مراجعه کنید. علاوه بر این، ما نمونه‌های پنل کناری زیادی را به مخزن نمونه GitHub خود اضافه کرده‌ایم. ما همچنین در پست وبلاگ جدید «طراحی یک تجربه کاربری برتر با API پنل کناری جدید» اطلاعات بیشتری در مورد پنل‌های کناری به اشتراک می‌گذاریم. سیاست دستورالعمل‌های کیفیت و بهترین شیوه‌های ما نیز بررسی شده‌اند تا راهنمایی‌های بیشتری در مورد ایجاد افزونه‌های پنل کناری با کیفیت بالا ارائه دهند.

بازخورد شما در ساخت این API مهم است؛ لطفاً نظرات و درخواست‌های خود را در گروه‌های کرومیوم به اشتراک بگذارید. منتظر به‌روزرسانی‌های جدید باشید تا ما همچنان به بهبود API پنل کناری ادامه دهیم.

نمونه‌های جدید: WASM در افزونه‌ها

ارسال شده در

دو نمونه جدید موجود است که نحوه استفاده از WASM را در یک افزونه نشان می‌دهد:

تشکر ویژه از همکار گیت‌هاب @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 اخیراً روش‌های جدیدی برای کنترل ظاهر نشان‌های افزونه دریافت کرده است. برای اطلاعات بیشتر، به تنظیم رنگ‌های نشان مراجعه کنید.)

کروم ۱۱۰: تغییر در زمان بیکاری سرویس ورکر

ارسال شده در

پیش از این، یک کارمند خدمات ترویجی اغلب پس از پنج دقیقه خاموش می‌شد. ما این رفتار را تغییر داده‌ایم تا بیشتر شبیه طول عمر کارمند خدمات در وب باشد. یک کارمند خدمات ترویجی پس از سی ثانیه عدم فعالیت یا اگر پردازش یک فعالیت بیش از ۵ دقیقه طول بکشد، خاموش می‌شود. برای اطلاعات بیشتر، به بخش «طول عمر بیشتر کارمند خدمات ترویجی» مراجعه کنید.

پست: توقف تدریجی Manifest V2

ارسال شده در

جدول زمانی منسوخ شدن Manifest V2 در دست بررسی است و آزمایش‌های برنامه‌ریزی‌شده برای اوایل سال ۲۰۲۳ به تعویق افتاده‌اند. برای اطلاعات بیشتر، به‌روزرسانی را در فهرست پستی افزونه‌های کروم مطالعه کنید .

کروم ۱۱۰: تنظیم رنگ‌های نشان

ارسال شده در

فضای نام chrome.action دو متد جدید دارد که به شما کنترل بیشتری بر ظاهر نشان‌های افزونه می‌دهد. متدهای setBadgeTextColor() و getBadgeTextColor() به افزونه اجازه می‌دهند رنگ متن نشان آیکون نوار ابزار خود را تغییر داده و از آن پرس‌وجو کند. این متدهای جدید وقتی با setBadgeBackgroundColor و getBadgeBackgroundColor استفاده شوند، به شما امکان می‌دهند هماهنگی طراحی و برند را برقرار کنید.

پست وبلاگ: جزئیات بیشتر در مورد انتقال به Manifest V3

ارسال شده در

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

به‌روزرسانی اسناد: مشکلات شناخته‌شده هنگام مهاجرت به Manifest V3

ارسال شده در

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

فروشگاه وب کروم: آپلود تصویر «کاشی تبلیغاتی بزرگ» حذف شد

ارسال شده در

فروشگاه وب کروم رابط کاربری آپلود «کاشی تبلیغاتی بزرگ» را از تب فهرست فروشگاه کالا در داشبورد توسعه‌دهندگان حذف کرده است. این تغییر بر تجربه کاربر نهایی تأثیری ندارد زیرا این تصاویر در رابط کاربری مصرف‌کننده استفاده نشده‌اند. برای جزئیات بیشتر به این پست افزونه‌های کروم مراجعه کنید.

کروم ۱۰۶: به صفحاتی که در آدرس‌های اینترنتی file:// قرار دارند اجازه دسترسی به منابع قابل دسترس وب را بدهید

ارسال شده در

طبق crbug.com/1219825#c11 ، منابع مبهم مانند iframe های sandboxed و واردات پویا نیز باید بتوانند به منابع قابل دسترسی از طریق وب دسترسی داشته باشند.

کروم ۱۰۶: اشکالی که اجازه می‌داد آرگومان‌های نهایی نادرست در برخی از توابع API ناهمگام اعمال شود، برطرف شد.

ارسال شده در

پیش از این، فراخوانی async APIها در Manifest V3 می‌توانست یک آرگومان نهایی نامعتبر ارائه دهد و کروم خطایی دریافت نمی‌کرد. با این اصلاحیه، کروم اکنون به درستی خطا می‌دهد و گزارش می‌دهد که هیچ امضای منطبقی وجود ندارد. به توسعه‌دهندگان توصیه می‌شود افزونه‌های خود را در Canary برای هرگونه خطا بررسی کنند تا در صورت استفاده تصادفی از امضای نادرست برای فراخوانی API که با این رفع اشکال از کار می‌افتد، با هرگونه خطایی مواجه نشوند.

پست وبلاگ: اصلاح تجزیه و تحلیل فروشگاه وب کروم

ارسال شده در

فروشگاه وب کروم (Chrome Web Store) یک تجربه تجزیه و تحلیل آیتم‌های جدید برای داشبورد توسعه‌دهندگان فروشگاه وب کروم (Chrome Web Store Developer Dashboard) دارد. داشبورد جدید با یک نگاه قابل فهم‌تر است و مفیدترین اطلاعات را از همان ابتدا تجمیع می‌کند. برای اطلاعات بیشتر ، پست وبلاگ را بخوانید .

کروم ۱۰۵: وعده‌هایی برای رابط برنامه‌نویسی کاربردی هویت (Identity API)

ارسال شده در

توابع در API هویت (Identity API) اکنون از فراخوانی‌های مبتنی بر وعده (promise) پشتیبانی می‌کنند. این با تغییر جزئی در سطح identity.getAuthToken() همراه است، که در آن مقدار بازگشتی ناهمزمان برای یک فراخوانی مبتنی بر وعده، "token" و "grantedScopes" را به عنوان پارامترهایی روی یک شیء واحد خواهد داشت (برخلاف نسخه callback که آنها را به عنوان آرگومان‌های جداگانه برای callback دریافت می‌کند).

کروم ۱۰۴: رابط برنامه‌نویسی کاربردی جدید فاوآیکن‌ها برای مانیفست نسخه ۳

ارسال شده در

افزونه‌های Manifest V3 اکنون می‌توانند با استفاده از یک الگوی URL جدید به فاوآیکن‌ها دسترسی پیدا کنند: chrome-extension://<id>/_favicon/ ، که در آن شناسه افزونه شماست. این جایگزین API مربوط به chrome://favicons پلتفرم Manifest V2 می‌شود. برای اطلاعات بیشتر به مستندات Favicon API مراجعه کنید.

به‌روزرسانی اسناد: افشای اطلاعات معامله‌گر/غیرمعامله‌گر توسعه‌دهنده

ارسال شده در

شناسه توسعه‌دهنده معامله‌گر/غیرمعامله‌گر اضافه شد که به توسعه‌دهندگان اطلاع می‌دهد تا وضعیت معامله‌گر/غیرمعامله‌گر خود را به طور دقیق اعلام کنند.

کروم ۱۰۳: Wasm در Manifest V3 نیاز به wasm-unsafe-eval دارد

ارسال شده در

کروم دیگر به طور پیش‌فرض به افزونه‌ها script-src: wasm-unsafe-eval اعطا نمی‌کند. افزونه‌هایی که از WebAssembly استفاده می‌کنند، اکنون باید صریحاً این دستورالعمل و مقدار را به extension_pages در اعلان‌های content_security_policy خود اضافه کنند.

کروم ۱۰۳: تغییر میانبرهای MV3 بلافاصله اعمال می‌شود

ارسال شده در

هنگام تغییر میانبر صفحه‌کلید افزونه‌ی Manifest V3 در chrome://extensions/shortcuts ، به‌روزرسانی‌ها اکنون بلافاصله اعمال می‌شوند. پیش از این، افزونه باید قبل از اعمال تغییر، مجدداً بارگذاری می‌شد.

کروم ۱۰۲: اسکریپت‌های محتوای پویا در دنیای اصلی

ارسال شده در

اسکریپت‌های محتوای ثبت‌شده‌ی پویا اکنون می‌توانند دنیایی را که دارایی‌ها به آن تزریق می‌شوند، مشخص کنند. برای جزئیات بیشتر به scripting.registerContentScripts() مراجعه کنید.

کروم ۱۰۲: فیلد جدید مانیفست "optional_host_permissions"

ارسال شده در

افزونه‌های Manifest V3 اکنون می‌توانند کلید optional_host_permissions را در manifest.json مشخص کنند. این به افزونه‌های Manifest V3 اجازه می‌دهد تا الگوهای تطابق اختیاری را برای میزبان‌ها اعلام کنند، همانطور که افزونه‌های Manifest V2 می‌توانستند از کلید optional_permissions استفاده کنند.

کروم ۱۰۲: ویژگی injectImmediately در scripting.executeScript()

ارسال شده در

chrome.scripting.executeScript() اکنون یک ویژگی injectImmediately اختیاری را در آرگومان injection خود می‌پذیرد. در صورت وجود و تنظیم آن روی true، اسکریپت در اسرع وقت به هدف تزریق می‌شود، نه اینکه منتظر document_idle بماند. توجه داشته باشید که این تضمینی نیست که اسکریپت قبل از بارگذاری صفحه تزریق شود، زیرا صفحه در حین فراخوانی API همچنان بارگیری می‌شود.

Chrome 102: پشتیبانی از Omnibox API در Manifest V3

ارسال شده در

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

کروم ۱۰۲: تابع wasm-unsafe-eval در Manifest V3 CSP مجاز است

ارسال شده در

افزونه‌های Manifest V3 اکنون می‌توانند wasm-unsafe-eval در اعلان‌های content_security_policy خود لحاظ کنند. این تغییر به افزونه‌های Manifest V3 اجازه می‌دهد تا از WebAssembly استفاده کنند.

کروم ۱۰۲: رابط برنامه‌نویسی کاربردی جدید storage.session

ارسال شده در

افزونه‌های Manifest V3 اکنون می‌توانند در حافظه storage.session استفاده شوند.

به‌روزرسانی اسناد: کشف آیتم‌های فروشگاه وب کروم

ارسال شده در

«کشف در فروشگاه وب کروم» مروری کلی بر نحوه یافتن موارد توسط کاربران در فروشگاه وب کروم و نحوه انتخاب موارد توسط ویراستاران ما برای نمایش ارائه می‌دهد.

کروم ۱۰۱: بهبود شرایط دامنه‌ی اعلانی NetRequest

ارسال شده در

شرایط قانون declarativeNetRequest به‌روزرسانی شده‌اند تا افزونه‌ها بتوانند درخواست‌ها را بر اساس دامنه‌های "request" و "initiator" درخواست، بهتر هدف‌گیری کنند. ویژگی‌های شرایط مربوطه عبارتند از initiatorDomains ، excludedInitiatorDomains ، requestDomains و excludedRequestDomains . همچنین به این تاپیک مربوط به افزونه‌های کرومیوم مراجعه کنید.

کروم ۱۰۰: مشکل scripting.executeScript() در تب‌های تازه ایجاد شده حل شد

مشکلی که مدت‌ها پیش وجود داشت و باعث می‌شد فراخوانی scripting.executeScript() در یک تب یا پنجره‌ی تازه ایجاد شده با شکست مواجه شود، برطرف شد.

کروم ۱۰۰: پورت پیام‌رسانی بومی، سرویس ورکر را فعال نگه می‌دارد

ارسال شده در

اتصال به یک میزبان پیام‌رسانی بومی با استفاده از chrome.runtime.connectNative() در سرویس ورکر یک افزونه، باید سرویس ورکر را تا زمانی که پورت باز است، فعال نگه دارد.

کروم ۱۰۰: omnibox.setDefaultSuggestion() از promiseها و callbackها پشتیبانی می‌کند.

ارسال شده در

متد omnibox.setDefaultSuggestion() اکنون یک promise را برمی‌گرداند یا یک callback را می‌پذیرد تا به توسعه‌دهندگان اجازه دهد تعیین کنند که چه زمانی پیشنهاد به درستی تنظیم شده است.

کروم ۱۰۰: پشتیبانی از i18n.getMessage() در سرویس‌دهنده‌های افزونه

ارسال شده در

API chrome.i18n.getMessage() اکنون در زمینه‌های توسعه‌دهندگان سرویس پشتیبانی می‌شود.

کروم ۹۹: match_origin_as_fallback در نسخه 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.

Also, APIs that use the ChromeSetting prototype now also support promises. The following APIs are affected by this change.

ChromeOS APIs

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

Posted on

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 its new capabilities. Read the post .

Chrome 92: module service worker support

Posted on

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()

Posted on

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()

Posted on

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()

Posted on

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

Posted on

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

Posted on

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

Posted on

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

Posted on

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

کروم ۸۸: دسترسی عمومی به مانیفست نسخه ۳

Posted on

Manifest V3 یک به‌روزرسانی عمده برای پلتفرم افزونه‌ها است؛ برای خلاصه‌ای از ویژگی‌های جدید و تغییر یافته، به «مروری بر Manifest V3» مراجعه کنید. افزونه‌ها ممکن است فعلاً به استفاده از Manifest V2 ادامه دهند، اما این امر در آینده نزدیک به تدریج متوقف خواهد شد. اکیداً توصیه می‌کنیم که برای هرگونه افزونه جدید از Manifest V3 استفاده کنید و در اسرع وقت، انتقال افزونه‌های موجود به Manifest V3 را آغاز کنید.