تاریخ انتشار پایدار: 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 را با پشتیبانی از یک فیلد برای تعیین پلتفرم ثبت ترجیحی، و بهبود حریم خصوصی، قابلیتهای اشکالزدایی اضافی ایجاد کند.
Compute Pressure API
Compute Pressure API حالت های سطح بالایی را ارائه می دهد که نشان دهنده بار CPU در سیستم است. این به پیادهسازی اجازه میدهد تا از معیارهای سختافزاری زیربنایی درست استفاده کند تا اطمینان حاصل شود که کاربران میتوانند تا زمانی که سیستم تحت فشار غیرقابل مدیریتی قرار نگیرد، از تمام قدرت پردازشی در دسترس خود استفاده کنند.
اینتل کار طراحی و پیادهسازی این API را رهبری کرد، که به برنامههای کنفرانس ویدیویی اجازه میدهد به طور پویا بین ویژگیها و عملکرد تعادل برقرار کنند.
API محاسبه فشار | باگ ردیابی #40683064 | ورودی ChromeStatus.com | مشخصات
گسترش API دسترسی به فضای ذخیره سازی (SAA) به فضای ذخیره سازی غیر کوکی
این افزونه پیشنهادی Storage Access API را راهاندازی میکند (سازگار با عقب و در آزمایش اولیه بوده است) تا امکان دسترسی به کوکیهای پارتیشنبندی نشده و ذخیرهسازی غیرکوکی در یک زمینه شخص ثالث را فراهم کند. API فعلی فقط دسترسی به کوکیها را فراهم میکند، که موارد استفاده متفاوتی از فضای ذخیرهسازی غیرکوکی دارند.
باگ ردیابی #40282415 | ورودی ChromeStatus.com | مشخصات
الزامات FedCM CORS در نقطه پایانی ادعای شناسه
واکشیها در API FedCM به دلیل ویژگیهای مورد نیاز آنها به سختی قابل استدلال هستند. در حالی که بحث در مورد نقطه پایانی حساب ها ادامه دارد، همچنین توافق زیادی وجود دارد که نقطه پایانی ادعای ID باید از CORS استفاده کند. این بهروزرسانی ویژگیهای امنیتی این واکشی را با سایر واکشیها در پلتفرم وب هماهنگتر میکند.
بهروزرسانیهای FedCM: آزمایش اولیه API حالت دکمه، CORS و SameSite | باگ ردیابی #40284123 | ورودی ChromeStatus.com
درخواست اعتبار FedCM دیگر SameSite=کوکی سختگیرانه ارسال نمی کند
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 حذف شده است.
حذف خواص و روش های تمام صفحه پیشوند HTMLVideoElement
APIهای تمام صفحه پیشوندی HTMLVideoElement
از Chrome 38 منسوخ شده اند. Element.requestFullscreen()
جایگزین شدند که برای اولین بار بدون پیشوند در سال 2018 در Chrome 71 ارسال شد.
ویژگی ها و روش های زیر از HTMLVideoElement حذف خواهند شد:
-
webkitSupportsFullscreen
-
webkitDisplayingFullscreen
-
webkitEnterFullscreen()
-
webkitExitFullscreen()
-
webkitEnterFullScreen()
(به حروف بزرگ «S» در FullScreen توجه کنید) -
webkitExitFullScreen()
اگر سایت شما همچنان به این موارد متکی است و به زمان بیشتری برای بهروزرسانی کد نیاز دارید، برای آزمایشی منسوخ شدن فهرست شده در این پست ثبت نام کنید.
در ادامه مطلب
به دنبال بیشتر هستید؟ این منابع اضافی را بررسی کنید.
- موارد جدید در Chrome 125
- موارد جدید در Chrome DevTools 125
- بهروزرسانیهای ChromeStatus.com برای Chrome 125
- تقویم انتشار کروم
- منسوخ شدن های آینده
- حذف های آینده