کروم 125

تاریخ انتشار پایدار: 14 می 2024

مگر اینکه خلاف آن ذکر شده باشد، تغییرات زیر در انتشار کانال پایدار Chrome 125 برای Android، ChromeOS، Linux، macOS و Windows اعمال می‌شود.

HTML و DOM

سریال سازی سایه DOM اعلامی

قابلیتی که به توسعه دهندگان اجازه می دهد تا درخت های DOM حاوی ریشه های سایه را سریال کنند، که اخیراً در استاندارد HTML استاندارد شده است.

باگ ردیابی #41490936 | ورودی ChromeStatus.com | مشخصات

CSS

CSS Anchor Positioning

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

ویژگی موقعیت یابی لنگر از تعداد زیادی ویژگی CSS تشکیل شده است. تعدادی از خواص کلیدی به شرح زیر است:

  • anchor-name : یک عنصر را به عنوان لنگر برای عناصر دیگر تنظیم می کند.
  • position-anchor : لنگر «پیش‌فرض» را توصیف می‌کند که یک عنصر لنگر باید برای موقعیت‌یابی لنگر استفاده کند.
  • تابع anchor() : برای اشاره به موقعیت عنصر لنگر، در موقعیت یابی عنصر لنگر استفاده می شود.
  • inset-area : مختصری برای موقعیت‌یابی، برای موقعیت‌های نسبی مشترک.

معرفی CSS Anchor positioning API | باگ ردیابی #40059176 | ورودی ChromeStatus.com | مشخصات

توابع ارزش پله ای CSS- round() ، mod() و rem()

توابع steppped-value، round() , mod() و rem() همگی یک مقدار داده شده را با توجه به "مقدار مرحله" دیگری تبدیل می کنند.

تابع round() CSS یک عدد گرد را بر اساس استراتژی گرد کردن انتخاب شده برمی گرداند.

تابع mod() CSS یک مدول باقیمانده را پس از تقسیم پارامتر اول بر پارامتر دوم، مشابه عملگر باقیمانده جاوا اسکریپت (%) برمی گرداند. مدول مقدار باقیمانده زمانی است که یک عملوند، سود تقسیمی، بر یک عملوند دوم، مقسوم علیه تقسیم می شود. همیشه علامت مقسم را می گیرد.

تابع rem() CSS باقیمانده باقیمانده را زمانی که پارامتر اول بر پارامتر دوم تقسیم می شود، برمی گرداند، مشابه عملگر باقی مانده جاوا اسکریپت (%). باقیمانده مقدار باقیمانده زمانی است که یک عملوند، سود تقسیمی، بر یک عملوند دوم، مقسوم علیه تقسیم می شود. همیشه علامت سود سهام را می گیرد.

باگ ردیابی #40253179 | ورودی ChromeStatus.com | مشخصات

نحو جدید برای CSS سفارشی :state()

حالت سفارشی CSS به عناصر سفارشی اجازه می‌دهد تا کلاس‌های شبه خود را نشان دهند. این نحو اکنون در CSSWG مشخص شده است و Chrome 125 اکنون از نحو جدید :state(foo) پشتیبانی می کند. این تغییر پنجره‌ای خواهد داشت که در آن Chrome هم از نحو قدیمی ( :--foo ) و هم از نحو جدید پشتیبانی می‌کند تا وب‌سایت‌ها بتوانند به سینتکس جدید تغییر کنند.

ورودی ChromeStatus.com | مشخصات

حذف ناپیوستگی برای رنگ های Oklab و Oklch با روشنایی نزدیک به 100٪ یا 0

قبل از این تغییر، تمام رنگ‌های Lab، LCH، Oklab و Oklch با مقدار روشنایی 100% بدون در نظر گرفتن دو پارامتر دیگر، سفید ارائه می‌شدند. تمام رنگ‌ها در این فضاها با مقدار روشنایی 0 به صورت سیاه نشان داده شدند. این دو نگاشت باعث ناپیوستگی در گرادیان ها شد و برای توسعه دهندگان وب غیرمنتظره بود.

با این بازگشت، این رنگ ها دیگر به صورت مصنوعی نگاشت نمی شوند و رنگ نمایش داده شده با رنگ های اطراف پیوسته خواهد بود و به نگاشت گستره نمایشگر بستگی دارد.

ورودی ChromeStatus.com | مشخصات

از نوارهای پیمایش ریشه طرح رنگ استفاده شده است

مرورگر را وادار می‌کند در صورتی که مقدار «طرح‌های رنگی پشتیبانی‌شده صفحه» «عادی» باشد یا مشخص نشده باشد، از طرح رنگ ترجیحی کاربر برای نمایش نوارهای پیمایش درگاه نمایش استفاده کند و مقدار محاسبه‌شده color-scheme برای عنصر ریشه normal باشد. می توان نوارهای اسکرول درگاه دید را خارج از محتوای وب در نظر گرفت. بنابراین، اگر توسعه‌دهنده صریحاً پشتیبانی از طرح‌های رنگی را مشخص نکرده باشد، عامل‌های کاربر باید هنگام رندر کردن نوارهای پیمایش viewport، از طرح رنگ ترجیحی کاربر استفاده کنند.

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

عنوان | باگ ردیابی #40259909 | ورودی ChromeStatus.com | مشخصات

کلاس view-transitions

یک ویژگی جدید CSS view-transition-class وجود دارد که به شما امکان می دهد یک یا چند کلاس انتقال مشاهده را مشخص کنید. سپس می توانید عناصر شبه ViewTransition با استفاده از این کلاس ها انتخاب کنید، برای مثال ::view-transition-group(*.class) .

این افزونه ای برای ViewTransition API است که استایل عناصر شبه انتقال view را به روشی مشابه که کلاس های CSS استایل عناصر DOM معمولی را ساده می کند، ساده می کند.

باگ ردیابی #41492972 | ورودی ChromeStatus.com | مشخصات

در حال بارگذاری

هنگام ساخت WebSocket URL های HTTP و HTTPS را بپذیرید

این به‌روزرسانی طرح‌های HTTP و HTTPS را در سازنده WebSocket فعال می‌کند، بنابراین به توسعه‌دهندگان اجازه می‌دهد از URL‌های نسبی استفاده کنند. اینها به طرح های داخلی ws: و wss: نرمال می شوند.

باگ ردیابی #325979102 | ورودی ChromeStatus.com | مشخصات

API های وب

موارد اضافه شده به API گزارش Attribution

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

ورودی ChromeStatus.com

Compute Pressure API

Compute Pressure API حالت های سطح بالایی را ارائه می دهد که نشان دهنده بار CPU در سیستم است. این به پیاده‌سازی اجازه می‌دهد تا از معیارهای سخت‌افزاری زیربنایی درست استفاده کند تا اطمینان حاصل شود که کاربران می‌توانند تا زمانی که سیستم تحت فشار غیرقابل مدیریتی قرار نگیرد، از تمام قدرت پردازشی در دسترس خود استفاده کنند.

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

API محاسبه فشار | باگ ردیابی #40683064 | ورودی ChromeStatus.com | مشخصات

این افزونه پیشنهادی Storage Access API را راه‌اندازی می‌کند (سازگار با عقب و در آزمایش اولیه بوده است) تا امکان دسترسی به کوکی‌های پارتیشن‌بندی نشده و ذخیره‌سازی غیرکوکی در یک زمینه شخص ثالث را فراهم کند. API فعلی فقط دسترسی به کوکی‌ها را فراهم می‌کند، که موارد استفاده متفاوتی از فضای ذخیره‌سازی غیرکوکی دارند.

باگ ردیابی #40282415 | ورودی ChromeStatus.com | مشخصات

الزامات FedCM CORS در نقطه پایانی ادعای شناسه

واکشی‌ها در API FedCM به دلیل ویژگی‌های مورد نیاز آن‌ها به سختی قابل استدلال هستند. در حالی که بحث در مورد نقطه پایانی حساب ها ادامه دارد، همچنین توافق زیادی وجود دارد که نقطه پایانی ادعای ID باید از CORS استفاده کند. این به‌روزرسانی ویژگی‌های امنیتی این واکشی را با سایر واکشی‌ها در پلتفرم وب هماهنگ‌تر می‌کند.

به‌روزرسانی‌های FedCM: آزمایش اولیه API حالت دکمه، CORS و SameSite | باگ ردیابی #40284123 | ورودی ChromeStatus.com

FedCM اکنون درخواست‌های اثبات شناسه را با CORS ارسال می‌کند. این تغییر به این معنی است که Chrome دیگر SameSite=Strict را به نقطه پایانی ادعای شناسه ارسال نمی‌کند، اگرچه عکس‌های Chrome SameSite=None ارسال می‌کنند. از آنجایی که ارسال مجموعه متفاوتی از کوکی‌ها به نقطه پایانی حساب‌ها و نقطه پایانی ادعای شناسه منطقی نیست، این تغییر باعث سازگاری آنها می‌شود.

ارسال نکردن کوکی های SameSite=Strict نیز با رفتار requestStorageAccess و درخواست های بین سایتی به طور کلی سازگار است.

باگ ردیابی #329145816 | ورودی ChromeStatus.com | مشخصات

عمل پیش‌فرض mousemove قابل تعامل

کروم اجازه لغو رویدادهای ماوس را برای جلوگیری از سایر APIها مانند انتخاب متن (و حتی کشیدن و رها کردن در گذشته) داد. این با سایر مرورگرهای اصلی مطابقت ندارد. با مشخصات رویداد UI مطابقت ندارد. اکنون انتخاب متن دیگر عمل پیش‌فرض mousemove نخواهد بود. انتخاب متن و کشیدن و رها کردن همچنان می‌تواند از طریق لغو رویدادهای selectstart و dragstart به ترتیب جلوگیری شود.

این ویژگی از Chrome 125 به آرامی عرضه می شود و انتظار می رود تا Chrome 126 برای همه کاربران در دسترس باشد.

نسخه ی نمایشی | باگ ردیابی #40078978 | ورودی ChromeStatus.com | مشخصات

اصلاح کننده های بیان منظم

اصلاح‌کننده‌های عبارات منظم توانایی تغییر موضعی پرچم‌های i ، m و s را در داخل یک الگو اضافه می‌کنند.

برای فعال کردن یک پرچم برای یک عبارت فرعی، از (?X:subexpr) استفاده کنید که در آن X یکی از i ، m یا s است. برای غیرفعال کردن یک پرچم برای یک عبارت فرعی، از (-X:subexpr) استفاده کنید.

به عنوان مثال، برای علامت عدم حساسیت به حروف کوچک و بزرگ i flag:

const re1 = /^[a-z](?-i:[a-z])$/i;
re1.test("ab"); // true
re1.test("Ab"); // true
re1.test("aB"); // false

const re2 = /^(?i:[a-z])[a-z]$/;
re2.test("ab"); // true
re2.test("Ab"); // true
re2.test("aB"); // false

ورودی ChromeStatus.com | مشخصات

عبارت منظم تکراری با نام گروه های ضبط

گروه‌های ضبط با نام تکراری به شما امکان می‌دهد از همان نام گروه عکس‌برداری در بین گزینه‌های جایگزین استفاده کنید. به عنوان مثال

const re = /(?<year>[0-9]{4})-[0-9]{2}|[0-9]{2}-(?<year>[0-9]{4})/;

در این مورد، year برای جایگزین اول ( (?<year>[0-9]{4})-[0-9]{2} ) و یا برای جایگزین دوم ( [0-9]{2}-(?<year>[0-9]{4}) معتبر است. [0-9]{2}-(?<year>[0-9]{4}) ).

ورودی ChromeStatus.com | مشخصات

برنامه های کروم

Direct Sockets API در Chrome Apps

این به‌روزرسانی با فعال کردن سوکت‌های مستقیم در برنامه‌های Chrome، به تسهیل انتقال برنامه‌های تخصصی از Chrome Apps به برنامه‌های وب ایزوله کمک می‌کند و به برنامه‌های وب اجازه می‌دهد پروتکل کنترل انتقال مستقیم (TCP) و پروتکل دیتاگرام کاربر (UDP) را با دستگاه‌ها و سیستم‌های شبکه برقرار کنند.

ورودی ChromeStatus.com | مشخصات

آزمایشات منشاء جدید

API حالت دکمه FedCM و استفاده از سایر API حساب

این آزمایش اولیه شامل دو API FedCM زیر است.

Button Mode API به وب‌سایت‌ها اجازه می‌دهد با کلیک روی دکمه، مانند کلیک کردن روی دکمه ورود به IdP، FedCM را فراخوانی کنند. این امر مستلزم آن است که FedCM تضمین کند که همیشه با یک رابط کاربری قابل مشاهده پاسخ می دهد، برخلاف حالت ویجت، که در هنگام خروج کاربران، رابط کاربری را نشان نمی دهد. فراخوانی API FedCM در حالت دکمه ، کاربران را مجبور می‌کند تا زمانی که کاربران از سیستم خارج شده‌اند، به IdP (در یک پنجره گفتگو) وارد شوند.

همچنین، از آنجایی که حالت دکمه در یک حرکت واضح کاربر فراخوانی می‌شود، رابط کاربری ممکن است در مقایسه با رابط کاربری حالت ویجت (که چنین قصد صریحی ندارد) برجسته‌تر باشد (مثلاً مرکزی و معین). درباره نحوه عملکرد API Button Mode در به‌روزرسانی‌های FedCM بیشتر بدانید: آزمایش اولیه API Button Mode، CORS و SameSite

Use Other Account API به یک Identity Provider اجازه می دهد تا کاربران به حساب های دیگر وارد شوند.

Origin Trial | نسخه ی نمایشی | باگ ردیابی #40284792 | ورودی ChromeStatus.com | مشخصات

APIهای تاشو

این آزمایش اولیه شامل Device Posture API و Viewport Segments Enumeration API است. این APIها برای کمک به توسعه دهندگان برای هدف قرار دادن دستگاه های تاشو طراحی شده اند.

Origin Trial | آزمایش اولیه برای APIهای تاشو | ورودی ChromeStatus.com | مشخصات

آزمایشی منسوخ برای ویژگی ها و روش های تمام صفحه پیشوند HTMLVideoElement

اگر به زمان بیشتری برای تنظیم کد خود نیاز دارید، این آزمایش منسوخ شدن به شما امکان می‌دهد تا از ویژگی‌ها و روش‌های پیشوندی HTMLVideoElement پشتیبانی کنید.

Origin Trial | ورودی ChromeStatus.com

از اسکن پیش بارگذاری صرفنظر کنید

از اسکنر پیش بارگذاری رد می شود تا مبادلات عملکردی را برای صفحاتی که واکشی منابع فرعی ندارند بررسی کند.

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

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

Origin Trial | باگ ردیابی #330802493 | ورودی ChromeStatus.com | مشخصات

محرومیت ها و حذف ها

حذف نام مستعار "window-placement" برای مجوز و خط مشی مجوز "window-management"

نام مستعار "window-placement" برای مجوز و خط مشی مجوز "window-management" را حذف می کند. این بخشی از تلاش بزرگ‌تر برای تغییر نام رشته‌ها با در نهایت منسوخ کردن و حذف "پنجره قرار دادن" است. تغییر اصطلاحات طول عمر توصیفگر را بهبود می بخشد زیرا API مدیریت پنجره در طول زمان تکامل می یابد.

عنوان | باگ ردیابی #40842072 | ورودی ChromeStatus.com | مشخصات

حذف خط مشی Enterprise: NewBaseUrlInheritanceBehaviorAllowed

تغییر کد اساسی (فعال کردن رفتار وراثت نشانی وب پایه جدید) که این خط‌مشی سازمانی لغو می‌کند، از آگوست 2023 در نسخه‌های پایدار فعال شده است (Chrome 118). از آنجایی که به مشکلات شناخته شده رسیدگی شده است، این خط مشی سازمانی در Chrome 125 حذف شده است.

ورودی ChromeStatus.com

حذف خواص و روش های تمام صفحه پیشوند HTMLVideoElement

APIهای تمام صفحه پیشوندی HTMLVideoElement از Chrome 38 منسوخ شده اند. Element.requestFullscreen() جایگزین شدند که برای اولین بار بدون پیشوند در سال 2018 در Chrome 71 ارسال شد.

ویژگی ها و روش های زیر از HTMLVideoElement حذف خواهند شد:

  • webkitSupportsFullscreen
  • webkitDisplayingFullscreen
  • webkitEnterFullscreen()
  • webkitExitFullscreen()
  • webkitEnterFullScreen() (به حروف بزرگ «S» در FullScreen توجه کنید)
  • webkitExitFullScreen()

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

ورودی ChromeStatus.com

در ادامه مطلب

به دنبال بیشتر هستید؟ این منابع اضافی را بررسی کنید.

گوگل کروم را دانلود کنید

Chrome را برای Android ، Desktop یا iOS دانلود کنید.