تاریخ انتشار پایدار: 14 می 2024
مگر اینکه خلاف آن ذکر شده باشد، تغییرات زیر در انتشار کانال پایدار Chrome 125 برای Android، ChromeOS، Linux، macOS و Windows اعمال میشود.
قابلیتی که به توسعه دهندگان اجازه می دهد تا درخت های DOM حاوی ریشه های سایه را سریال کنند، که اخیراً در استاندارد HTML استاندارد شده است.
باگ ردیابی #41490936 | ورودی ChromeStatus.com | مشخصات
موقعیتیابی لنگر CSS به توسعهدهندگان اجازه میدهد تا یک عنصر کاملاً موقعیتیافته را به یک یا چند عنصر دیگر در صفحه ( لنگرها ) به روشی اعلامی و بدون استفاده از جاوا اسکریپت متصل کنند . زمانی که لنگرها قابل پیمایش هستند، موقعیت لنگر به خوبی کار می کند. یک مورد معمول استفاده، قرار دادن پاپاور مانند یک راهنمای ابزار در کنار عنصری است که آن را فراخوانی کرده است، یا یک منوی انتخابی و لیست گزینه های پاپاور آن. قبل از ویژگی موقعیت یابی لنگر، این موارد استفاده به جاوا اسکریپت نیاز داشت تا پاپاور را به صورت پویا قرار دهد، و آن را در حین اسکرول شدن عنصر فراخوان، لنگر نگه دارد، که یک تفنگ پایی عملکردی است و درست کردن آن دشوار است. با موقعیت لنگر، این موارد استفاده را می توان به صورت عملکردی و به صورت اعلامی اجرا کرد.
ویژگی موقعیت یابی لنگر از تعداد زیادی ویژگی CSS تشکیل شده است. تعدادی از خواص کلیدی به شرح زیر است:
-
anchor-name
: یک عنصر را به عنوان لنگر برای عناصر دیگر تنظیم می کند. -
position-anchor
: لنگر «پیشفرض» را توصیف میکند که یک عنصر لنگر باید برای موقعیتیابی لنگر استفاده کند. - تابع
anchor()
: برای اشاره به موقعیت عنصر لنگر، در موقعیت یابی عنصر لنگر استفاده می شود. -
inset-area
: مختصری برای موقعیتیابی، برای موقعیتهای نسبی مشترک.
معرفی CSS Anchor positioning API | باگ ردیابی #40059176 | ورودی ChromeStatus.com | مشخصات
round()
، mod()
و rem()
توابع steppped-value، round()
, mod()
و rem()
همگی یک مقدار داده شده را با توجه به "مقدار مرحله" دیگری تبدیل می کنند.
تابع round()
CSS یک عدد گرد را بر اساس استراتژی گرد کردن انتخاب شده برمی گرداند.
تابع mod()
CSS یک مدول باقیمانده را پس از تقسیم پارامتر اول بر پارامتر دوم، مشابه عملگر باقیمانده جاوا اسکریپت (%) برمی گرداند. مدول مقدار باقیمانده زمانی است که یک عملوند، سود تقسیمی، بر یک عملوند دوم، مقسوم علیه تقسیم می شود. همیشه علامت مقسم را می گیرد.
تابع rem()
CSS باقیمانده باقیمانده را زمانی که پارامتر اول بر پارامتر دوم تقسیم می شود، برمی گرداند، مشابه عملگر باقی مانده جاوا اسکریپت (%). باقیمانده مقدار باقیمانده زمانی است که یک عملوند، سود تقسیمی، بر یک عملوند دوم، مقسوم علیه تقسیم می شود. همیشه علامت سود سهام را می گیرد.
باگ ردیابی #40253179 | ورودی ChromeStatus.com | مشخصات
:state()
حالت سفارشی CSS به عناصر سفارشی اجازه میدهد تا کلاسهای شبه خود را نشان دهند. این نحو اکنون در CSSWG مشخص شده است و Chrome 125 اکنون از نحو جدید :state(foo)
پشتیبانی می کند. این تغییر پنجرهای خواهد داشت که در آن Chrome هم از نحو قدیمی ( :--foo
) و هم از نحو جدید پشتیبانی میکند تا وبسایتها بتوانند به سینتکس جدید تغییر کنند.
ورودی ChromeStatus.com | مشخصات
قبل از این تغییر، تمام رنگهای 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 | مشخصات
این بهروزرسانی طرحهای HTTP و HTTPS را در سازنده WebSocket فعال میکند، بنابراین به توسعهدهندگان اجازه میدهد از URLهای نسبی استفاده کنند. اینها به طرح های داخلی ws:
و wss:
نرمال می شوند.
باگ ردیابی #325979102 | ورودی ChromeStatus.com | مشخصات
ویژگیهایی به API گزارش Attribution اضافه شده است تا با پشتیبانی از تجزیه گزارشهای اشکالزدایی شکست، ارگونومی API را با پشتیبانی از یک فیلد برای تعیین پلتفرم ثبت ترجیحی، و بهبود حریم خصوصی، قابلیتهای اشکالزدایی اضافی ایجاد کند.
Compute Pressure API حالت های سطح بالایی را ارائه می دهد که نشان دهنده بار CPU در سیستم است. این به پیادهسازی اجازه میدهد تا از معیارهای سختافزاری زیربنایی درست استفاده کند تا اطمینان حاصل شود که کاربران میتوانند تا زمانی که سیستم تحت فشار غیرقابل مدیریتی قرار نگیرد، از تمام قدرت پردازشی در دسترس خود استفاده کنند.
اینتل کار طراحی و پیادهسازی این API را رهبری کرد، که به برنامههای کنفرانس ویدیویی اجازه میدهد به طور پویا بین ویژگیها و عملکرد تعادل برقرار کنند.
API محاسبه فشار | باگ ردیابی #40683064 | ورودی ChromeStatus.com | مشخصات
این افزونه پیشنهادی Storage Access API را راهاندازی میکند (سازگار با عقب و در آزمایش اولیه بوده است) تا امکان دسترسی به کوکیهای پارتیشنبندی نشده و ذخیرهسازی غیرکوکی در یک زمینه شخص ثالث را فراهم کند. API فعلی فقط دسترسی به کوکیها را فراهم میکند، که موارد استفاده متفاوتی از فضای ذخیرهسازی غیرکوکی دارند.
باگ ردیابی #40282415 | ورودی ChromeStatus.com | مشخصات
واکشیها در 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 | مشخصات
کروم اجازه لغو رویدادهای ماوس را برای جلوگیری از سایر 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 | مشخصات
این بهروزرسانی با فعال کردن سوکتهای مستقیم در برنامههای Chrome، به تسهیل انتقال برنامههای تخصصی از Chrome Apps به برنامههای وب ایزوله کمک میکند و به برنامههای وب اجازه میدهد پروتکل کنترل انتقال مستقیم (TCP) و پروتکل دیتاگرام کاربر (UDP) را با دستگاهها و سیستمهای شبکه برقرار کنند.
ورودی ChromeStatus.com | مشخصات
این آزمایش اولیه شامل دو 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 | مشخصات
این آزمایش اولیه شامل Device Posture API و Viewport Segments Enumeration API است. این APIها برای کمک به توسعه دهندگان برای هدف قرار دادن دستگاه های تاشو طراحی شده اند.
Origin Trial | آزمایش اولیه برای APIهای تاشو | ورودی ChromeStatus.com | مشخصات
اگر به زمان بیشتری برای تنظیم کد خود نیاز دارید، این آزمایش منسوخ شدن به شما امکان میدهد تا از ویژگیها و روشهای پیشوندی HTMLVideoElement پشتیبانی کنید.
Origin Trial | ورودی ChromeStatus.com
از اسکنر پیش بارگذاری رد می شود تا مبادلات عملکردی را برای صفحاتی که واکشی منابع فرعی ندارند بررسی کند.
مرحله اسکنر پیش بارگذاری، از طریق اجرای پیش واکشی گمانهزنی، عملکرد صفحاتی با واکشی منابع فرعی را به همراه دارد. با این حال، برای صفحاتی که از این مرحله سود نمیبرند، یعنی برای صفحاتی که منابع فرعی ندارند، این سربار پردازش اضافی با سود کمی است.
برای کاربران پیشرفته وب که میخواهند با کاهش این سربار سود ببرند، این آزمایش یک کنترل در سطح صفحه برای غیرفعال کردن اسکنر پیشبارگذاری فراهم میکند. دادههای جمعآوریشده از این آزمایش میتواند ارزیابی کند که آیا یک API اصلاحشده یا اجرای متفاوت اسکنر پیشبارگذاری HTML مفید است یا خیر.
Origin Trial | باگ ردیابی #330802493 | ورودی ChromeStatus.com | مشخصات
نام مستعار "window-placement" برای مجوز و خط مشی مجوز "window-management" را حذف می کند. این بخشی از تلاش بزرگتر برای تغییر نام رشتهها با در نهایت منسوخ کردن و حذف "پنجره قرار دادن" است. تغییر اصطلاحات طول عمر توصیفگر را بهبود می بخشد زیرا API مدیریت پنجره در طول زمان تکامل می یابد.
عنوان | باگ ردیابی #40842072 | ورودی ChromeStatus.com | مشخصات
NewBaseUrlInheritanceBehaviorAllowed
تغییر کد اساسی (فعال کردن رفتار وراثت نشانی وب پایه جدید) که این خطمشی سازمانی لغو میکند، از آگوست 2023 در نسخههای پایدار فعال شده است (Chrome 118). از آنجایی که به مشکلات شناخته شده رسیدگی شده است، این خط مشی سازمانی در Chrome 125 حذف شده است.
APIهای تمام صفحه پیشوندی HTMLVideoElement
از Chrome 38 منسوخ شده اند. Element.requestFullscreen()
جایگزین شدند که برای اولین بار بدون پیشوند در سال 2018 در Chrome 71 ارسال شد.
ویژگی ها و روش های زیر از HTMLVideoElement حذف خواهند شد:
-
webkitSupportsFullscreen
-
webkitDisplayingFullscreen
-
webkitEnterFullscreen()
-
webkitExitFullscreen()
-
webkitEnterFullScreen()
(به حروف بزرگ «S» در FullScreen توجه کنید) -
webkitExitFullScreen()
اگر سایت شما همچنان به این موارد متکی است و به زمان بیشتری برای بهروزرسانی کد نیاز دارید، برای آزمایشی منسوخ شدن فهرست شده در این پست ثبت نام کنید.
به دنبال بیشتر هستید؟ این منابع اضافی را بررسی کنید.