مسیر حرکت CSS، حافظه پنهان Back/Forward NotRestoredReason API، Document Picture-in-Picture و موارد دیگر.
تغییرات توضیح داده شده در جدیدترین کانال بتا Chrome برای Android، ChromeOS، Linux، macOS و Windows اعمال میشود، مگر اینکه خلاف آن ذکر شده باشد. از طریق پیوندهای ارائه شده یا از فهرست موجود در ChromeStatus.com درباره ویژگی های فهرست شده در اینجا بیشتر بیاموزید. Chrome 116 از 19 ژوئیه 2023 نسخه بتا است. میتوانید آخرین نسخه را در Google.com برای دسکتاپ یا در فروشگاه Google Play در Android بارگیری کنید.
CSS
این نسخه دو ویژگی جدید CSS را اضافه می کند.
مسیر حرکت CSS
مسیر حرکت به نویسندگان این امکان را می دهد که هر شی گرافیکی را قرار داده و آن را در مسیری که توسط توسعه دهنده مشخص شده است متحرک کنند. این امکان تعدادی از احتمالات تبدیل قدرتمند جدید را فراهم می کند، مانند موقعیت یابی با استفاده از مختصات قطبی (با تابع ray()
) به جای مختصات مستطیلی استاندارد که توسط تابع translate()
استفاده می شود، یا متحرک سازی یک عنصر در طول یک مسیر تعریف شده. این باعث میشود که انتقالهای فضایی پیچیده و زیبای دوبعدی را آسانتر تعریف کنیم. یک مسیر را می توان به صورت circle()
، ellipse()
، rect()
، inset()
، xywh()
، polygon()
، ray()
و url()
مشخص کرد.
انیمیشن های نمایش و مشاهده محتوا
Chrome 116 از ویژگیهای display
و content-visibility
در انیمیشنهای فریم کلیدی پشتیبانی میکند. این پشتیبانی به توسعه دهندگان اجازه می دهد انیمیشن های خروجی ایجاد کنند که پس از آن عنصر به طور خودکار display: none
یا content-visibility: hidden
شود. این اجازه می دهد تا انیمیشن های خروجی برای عناصر صرفاً در CSS اضافه شوند.
API های وب
AbortSignal.any()
سیگنالی را برمیگرداند که با قطع شدن هر یک از سیگنالهای منبع قطع میشود. توسعه دهندگان می توانند از این برای ترکیب منابع سقط مستقل استفاده کنند، به عنوان مثال، مهلت های زمانی مشخص شده با AbortSignal.timeout()
و سیگنال های مرتبط با AbortController، و آنها را به API های ناهمگام مانند fetch()
ارسال کنند.
پشتیبانی BYOB برای Fetch
اجرای ReadableStream در کروم از خوانندگان بافر بیاورید (BYOB) برای جریان های بایت قابل خواندن پشتیبانی می کند. اکنون Response.body
نیز یک جریان بایت قابل خواندن به جای یک جریان قابل خواندن "پیش فرض" است. این باعث می شود Fetch API با خواننده های BYOB استفاده شود، هزینه جمع آوری زباله و کپی ها را کاهش می دهد و پاسخگویی را برای کاربران بهبود می بخشد. Blob.stream()
هم اکنون از این بهینه سازی سود می برد.
Back/Forward cache NotRestoredReason API
NotRestoredReason API لیستی از دلایل عدم ارائه صفحه از BFcache در ساختار درختی فریم را از طریق PerformanceNavigationTiming API گزارش میکند.
سند تصویر در تصویر
Document Picture-in-Picture یک API جدید برای باز کردن یک پنجره همیشه در بالا اضافه می کند که می تواند با HTMLElements
دلخواه پر شود. این یک توسعه بر روی HTMLVideoElement
API موجود است که فقط اجازه می دهد تا یک HTMLVideoElement
در یک پنجره Picture-in-Picture (PiP) قرار گیرد. این به توسعه دهندگان وب اجازه می دهد تا تجربه PiP بهتری را برای کاربران فراهم کنند.
حروف عام گسترده در مبدا خط مشی مجوزها
حروف عام زیردامنه در لیستهای مجاز، انعطافپذیری ارزشمندی را ارائه میکردند، اما با تجزیهکنندههای حروف عام موجود تفاوت داشتند و نیاز به کد جدید و کار با مشخصات داشتند. این هدف با استفاده مجدد از بخشهایی از مشخصات خطمشی امنیت محتوای موجود و scheme + wildcard domain
و wildcard port
در فهرست مجاز، این سربار را کاهش میدهد. به طور خاص، این هدف تعریف میزبان-منبع و طرح-منبع را به جای مبدا در تعریف لیست مجاز میپذیرد، در حالی که مستلزم خالی بودن قسمت مسیر است (از آنجایی که خطمشیهای مجوز برای مبداهای منطبق اعمال میشوند).
بسته FedCM: Login Hint API، User Info API و RP Context API
این بهروزرسانی همراه امکان سفارشیسازی جریانهای ورود به سیستم را که از API مدیریت اعتبار فدرال (FedCM) استفاده میکنند، میدهد.
با Login Hint API، طرف متکی (RP) میتواند یک راهنمایی در مورد حساب کاربری که میخواهد در FedCM UI نمایش داده شود، مشخص کند. این عمدتا برای ارائه یک UX بهتر برای کاربران بازگشتی استفاده می شود.
User Info API به ارائهدهنده هویت (IdP) اجازه میدهد تا اطلاعات کاربر را واکشی کند تا بتواند تجربه ورود به سیستم را برای کاربران بازگشتی شخصیسازی کند، بهعنوان مثال از طریق دکمههای شخصیشده «ورود به سیستم با IdP».
با استفاده از RP Context API، RP میتواند از گفتگوی FedCM درخواست کند تا عنوان «ورود به سیستم» را با «ثبتنام»، «استفاده» یا «ادامه» جایگزین کند تا هدف واقعی کاربر را تراز کند.
ماوس و اشاره گر غیر ترکیبی وارد/ترک رویدادها می شوند
ویژگی event.composed
را در رویدادهای mouseenter
، mouseleave
، pointerenter
و pointerleave
"false"
کنید تا با مشخصات مطابقت داشته باشد و شکاف های interop را برطرف کنید. هر دو ویژگی رویدادهای رابط کاربری برای رویدادهای ماوس و مشخصه رویدادهای اشاره گر، این رویدادها را به عنوان غیر ترکیبی تعریف می کنند. هر دو مشخصات چند سال پیش از تعاریف اصلی خود دور شدند: https://github.com/w3c/uievents/pull/210 https://github.com/w3c/pointerevents/pull/461 علاوه بر پرداختن به شکاف interop، این تغییر همچنین ارسال اشتباه دو یا سه گانه این رویدادها را به میزبان سایه ای DOM در Chromium برطرف می کند ، زمانی که DOM سایه نیز به رویداد گوش می دهد .
وراثت سندباکس باز را حذف کنید
در حال حاضر وقتی document.open
پنجره دیگری را هدف قرار میدهد، پرچمهای Sandbox تماسگیرنده روی تماسگیرنده اعمال میشود. بعد از این تغییر دیگر اینگونه نخواهد بود..
گزارش Critical-CH باعث راه اندازی مجدد در NavigationTiming شد
وبسایتها میتوانند با گنجاندن آن در سرصفحه پاسخ HTTP Critical-CH
نشان دهند که یک راهنمایی مشتری خاص برای صفحه حیاتی است. اگر راهنمایی فهرست شده در سرصفحه پاسخ HTTP Critical-CH
بتواند در درخواست HTTP ارسال شده در ابتدا گنجانده شود، انجام این کار باعث راه اندازی مجدد اتصال می شود. این هدف اضافه کردن readonly attribute DOMHighResTimeStamp criticalCHRestart;
به رابط PerformanceNavigationTiming
.
آزمایش های مبدا در حال انجام است
در Chrome 116 میتوانید آزمایشهای اصلی جدید زیر را انتخاب کنید.
COOP: محدودیت-خواص
Cross-Origin-Opener-Policy برای قطع رابطه بین پنجره بازکن و بازکننده، برای افزایش امنیت استفاده می شود. "محدود کردن خواص" یک مقدار پیشنهادی است که به جای قطع کامل رابطه، آن را محدود می کند. هنگامی که با COEP جفت شود، crossOriginIsolated را فعال می کند.
برای محاکمه منشاء ویژگی های محدود COOP ثبت نام کنید .
API وضعیت ورود به سیستم FedCM
IdP Sign-in Status API مدیریت اعتبار فدرال API (FedCM) به ارائهدهنده هویت (IdP) اجازه میدهد زمانی که کاربرانش در حال ورود/خروج هستند به مرورگر سیگنال بدهد تا FedCM بتواند ویژگیهای حریم خصوصی خود را با بهینهسازی UX خود افزایش دهد.
برای آزمایش اولیه وضعیت ورود به سیستم FedCM ثبت نام کنید
EditContext API
EditContext API فرآیند یکپارچهسازی یک برنامه وب با روشهای پیشرفته ورودی متن مانند شکلنویسی VK، پانلهای دستنویس، تشخیص گفتار و ترکیبهای IME را ساده میکند. API دسترسی و عملکرد را بهبود می بخشد و قابلیت های جدیدی را برای ویرایشگرهای مبتنی بر وب باز می کند.
برای آزمایش اولیه EditContext API ثبت نام کنید
زمان بندی فریم انیمیشن طولانی
این امتداد کارهای طولانی است. این کار را به همراه بهروزرسانی رندر بعدی آن اندازهگیری میکند، و اطلاعاتی مانند اسکریپتهای در حال اجرا طولانی، زمان رندر و زمان صرف شده در طرحبندی و سبک اجباری، که به عنوان layout thrashing شناخته میشود، اضافه میکند.
توسعه دهندگان می توانند از این به عنوان تشخیصی برای "تنگی" استفاده کنند، که با INP اندازه گیری می شود، با یافتن علل تراکم نخ اصلی که اغلب علت INP بد است.
برای آزمایش اولیه Long Animation Frame Timeming ثبت نام کنید