فعال کردن chrome.userScripts در برنامه‌های افزودنی Chrome در حال تغییر است

جاستین لولجیان
Justin Lulejian

تاریخ انتشار: 29 مه 2025

از Chrome 138 مجموعه‌ای از تغییرات در اسکریپت‌های کاربر ( chrome.userScripts API) در برنامه‌های افزودنی Chrome، با تمرکز بر افزایش امنیت و ارائه کنترل دقیق‌تر به کاربران وجود دارد. این به روز رسانی به بازخورد ارزشمند دریافت شده از جامعه توسعه دهندگان و کاربران آنها می پردازد.

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

به طور خاص، اتکا به حالت جهانی Developer Mode مشکلات زیر را داشت:

  • خطرات امنیتی: پس از فعال شدن حالت برنامه‌نویس، برنامه‌های افزودنی جدیدی که مجوز userScripts را درخواست می‌کردند، به طور خودکار توانایی اجرای اسکریپت‌های کاربر را به دست می‌آورند، به طور بالقوه بدون رضایت صریح کاربر یا آگاهی از خطرات مرتبط با هر برنامه افزودنی جدید.
  • عملکرد بیش از حد: تغییر حالت Developer Mode چندین مجوز توسعه‌گرای دیگر را کنترل می‌کند و برای مدیریت مجوز خاص برای اجرای اسکریپت‌های کاربر دقت کمتری دارد.
  • چالش‌های سازمانی: بسیاری از شرکت‌ها ترجیح می‌دهند حالت توسعه‌دهنده را در دستگاه‌های مدیریت‌شده فعال نکنند، که به طور موثر مانع از استقرار یا استفاده از افزونه‌هایی می‌شود که به chrome.userScripts API متکی هستند.

برای رفع این نگرانی‌ها و بهبود امنیت و قابلیت استفاده برنامه‌های افزودنی Chrome، ما در حال انتقال از حالت جهانی برنامه‌نویس به یک تغییر وضعیت جدید برای هر افزونه Allow User Scripts هستیم.

این ضامن جدید، که در صفحه جزئیات برنامه افزودنی از Chrome 138 ( chrome://extensions/?id=<your_extension_id> ) قابل دسترسی است، به کاربران امکان می دهد به صراحت توانایی برنامه افزودنی را برای اجرای اسکریپت های کاربر بر اساس برنامه های افزودنی جداگانه کنترل کنند. این امر کنترل دقیق تری را فراهم می کند و خطرات امنیتی بالقوه را کاهش می دهد.

گفتگوی اجازه اسکریپت های کاربر.

در طول دوره انتقال، نسخه‌های Chrome قبل از 138 همچنان از تغییر حالت برنامه‌نویس استفاده می‌کنند، در حالی که نسخه‌های 138 یا جدیدتر از تغییر وضعیت جدید برای هر افزونه Allow User Scripts استفاده می‌کنند. در اولین راه‌اندازی نسخه 138 و جدیدتر، اگر تغییر حالت برنامه‌نویس userScripts باشد، انتقال یک‌باره به‌طور خودکار ضامن جدید را برای افزونه‌های موجود فعال می‌کند. همه برنامه‌های افزودنی جدیدی که پس از انتقال نصب می‌شوند، به‌طور پیش‌فرض روی گزینه Allow User Scripts خاموش می‌شوند.

علاوه بر این، برای بررسی در دسترس بودن User Scripts API، افزونه‌ها قبلاً باید سعی می‌کردند به chrome.userScripts دسترسی پیدا کنند. اگر حالت برنامه‌نویس غیرفعال بود، این خطا ایجاد می‌کرد. از Chrome 138، این رفتار با سایر APIها همسو می‌شود و اگر در دسترس نباشد، API تعریف نشده است. با این وجود، ما این بررسی را برای تعیین اینکه آیا API در دسترس است، توصیه می کنیم زیرا همه نسخه های Chrome را پوشش می دهد:

function isUserScriptsAvailable() {
  try {
    // Method call which throws if API permission or toggle is not enabled.
    chrome.userScripts.getScripts();
    return true;
  } catch {
    // Not available.
    return false;
  }
}

مدیرانی که قبلاً اسکریپت‌های کاربر را با غیرفعال کردن حالت برنامه‌نویس مدیریت می‌کردند، اکنون باید از خط‌مشی blocked_permissions یا کنسول Google Admin برای کنترل برنامه‌های افزودنی که از chrome.userScripts API استفاده می‌کنند استفاده کنند. ما در حال ارزیابی تغییرات بیشتر در نحوه کنترل دسترسی chrome.userScripts برای برنامه‌های افزودنی نصب‌شده اجباری هستیم، بنابراین با یادداشت‌های انتشار سرپرست برای به‌روزرسانی‌ها همراه باشید.

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

شما می توانید در مورد تغییرات و رفتار جدید در اسناد ما بیشتر بیاموزید.

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