کروم 123 بتا

مگر اینکه غیر از این ذکر شده باشد، تغییرات زیر در جدیدترین نسخه کانال بتا Chrome برای Android، ChromeOS، Linux، macOS و Windows اعمال می‌شود. از طریق پیوندهای ارائه شده یا از فهرست موجود در ChromeStatus.com درباره ویژگی های فهرست شده در اینجا بیشتر بیاموزید. Chrome 123 از 21 فوریه 2024 نسخه بتا است. می‌توانید آخرین نسخه را در Google.com برای دسک‌تاپ یا در فروشگاه Google Play در Android بارگیری کنید.

CSS

این نسخه پنج ویژگی جدید CSS را اضافه می کند.

تابع رنگ light-dark() CSS

تابع light-dark() در CSS به توسعه دهندگان این امکان را می دهد که به راحتی طرح رنگ را با ترجیح کاربر برای حالت روشن یا تاریک تطبیق دهند.

از light-dark() برای تعیین دو مقدار رنگ مختلف در یک ویژگی CSS استفاده کنید. مرورگر (یا دستگاه) به طور خودکار رنگ مناسب را بر اساس مقدار color-scheme محاسبه شده عنصر انتخاب می کند. به عنوان مثال، با CSS زیر:

  • اگر کاربر یک تم روشن انتخاب کرده باشد، عنصر .target یک پس‌زمینه آهکی خواهد داشت.
  • اگر کاربر یک تم تیره انتخاب کرده باشد، عنصر .target یک پس‌زمینه سبز خواهد داشت.
html {
  color-scheme: light dark;
}
.target {
    background-color: light-dark(lime, green);
}

حالت نمایش تصویر در تصویر CSS

پشتیبانی از ویژگی رسانه display-mode CSS را برای مقدار picture-in-picture اضافه می کند. این به توسعه دهندگان وب اجازه می دهد تا قوانین خاص CSS را بنویسند که فقط زمانی اعمال می شوند که (بخشی از) برنامه وب در حالت تصویر در تصویر نشان داده شود.

در مستندات تصویر در تصویر درباره این ویژگی رسانه بیشتر بیاموزید.

ویژگی align-content CSS برای بلوک ها

ویژگی align-content CSS اکنون در کانتینرهای بلوک و سلول های جدول پشتیبانی می شود. قبلاً این ویژگی فقط در موارد گرید و فلکس پشتیبانی می شد. برای مثال، display: block ، display: list-item و display: table-cell اکنون می‌توانند با استفاده از align-content تراز شوند.

در پشتیبانی از align-content در طرح‌بندی بلوک و جدول بیشتر بیاموزید.

ویژگی CSS field-sizing

با استفاده از ویژگی field-sizing ، توسعه‌دهندگان می‌توانند اندازه‌های پیش‌فرض ثابت کنترل‌های فرم را غیرفعال کنند و اندازه آن‌ها را به محتوای آن‌ها وابسته کنند. این روشی را برای ایجاد فیلدهای متنی با رشد خودکار فراهم می کند.

ویژگی CSS text-spacing-trim

این ویژگی، کرنینگ را برای نویسه‌های نقطه‌گذاری چینی، ژاپنی و کره‌ای (CJK) اعمال می‌کند تا تایپوگرافی بصری دلپذیری را که توسط JLREQ (الزامات طرح‌بندی متن ژاپنی) و CLREQ (الزامات طرح‌بندی متن چینی) تعریف شده است، ایجاد کند.

بسیاری از نویسه‌های نقطه‌گذاری CJK شامل فاصله‌گذاری داخلی گلیف هستند. به عنوان مثال، نقطه CJK و پرانتز بسته CJK معمولاً دارای فاصله‌های علامت داخلی در نیمه سمت راست فضاهای گلیف خود هستند تا مانند سایر شخصیت‌های ایدئوگرافیک به آنها یک پیشروی ثابت بدهد. اما هنگامی که آنها در یک ردیف ظاهر می شوند، فاصله های گلیف-داخلی بیش از حد می شود. این ویژگی چنین فاصله بیش از حد را تنظیم می کند.

ویژگی text-spacing-trim یکی از چهار مقدار زیر را می پذیرد: normal ، trim-start ، space-all و space-first . در معرفی چهار ویژگی جدید بین المللی در CSS بیشتر بدانید.

API های وب

اجازه ایجاد اعتبار WebAuthn در یک iframe متقاطع

این ویژگی به توسعه دهندگان وب اجازه می دهد تا اعتبارنامه های WebAuthn (یعنی اعتبارنامه های "کلید عمومی" که به عنوان کلیدهای عبور شناخته می شوند) در iframe های متقاطع ایجاد کنند. برای این توانایی جدید دو شرط لازم است:

  • iframe دارای یک خط‌مشی مجوز publickey-credentials-create-feature .
  • iframe دارای فعال سازی گذرا توسط کاربر است.

این به توسعه دهندگان این امکان را می دهد که کلیدهای عبور را در سناریوهای تعبیه شده ایجاد کنند، مانند پس از یک جریان افزایش هویت که در آن حزب متکی یک تجربه هویت فدرال را ارائه می دهد.

بسته ویژگی گزارش انتساب

Chrome 123 سفارشی‌سازی داده‌های راه‌انداز و فیلترهای مقدار قابل جمع‌آوری را به API گزارش Attribution با تمرکز روی:

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

اندازه گیری اسناد بین برنامه و وب

API گزارش Attribution را گسترش می‌دهد تا امکان نسبت دادن تبدیل‌هایی که در وب اتفاق می‌افتد را به رویدادهایی که خارج از مرورگر، در سایر برنامه‌ها رخ می‌دهند، بدهد.

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

blocking=render

این یک تغییر کوچک است که یک محدودیت مصنوعی را از <script blocking="render"> حذف می کند. قبل از این تغییر، <script blocking="render"type="module"> به یک ویژگی src نیاز دارد، حتی اگر این src یک URI داده باشد. این یک محدودیت غیرضروری است، زیرا اسکریپت‌های ماژول درون خطی که اسکریپت‌های دیگر را وارد می‌کنند باید همچنان بتوانند رندر-بلاک کنند.

انگیزه این امر این است که انتقال نمای متقابل اسناد اغلب برای سفارشی‌سازی به اسکریپت‌های مسدودکننده رندر متکی است، بنابراین آسان‌تر کردن اسکریپت‌های مسدودکننده رندر برای نویسنده از این ویژگی پشتیبانی می‌کند.

Document picture-in-picture: به focus() API اجازه می دهد تا روی بازکننده فوکوس کند

اکنون می توانید از opener.focus() از پنجره تصویر در تصویر سند استفاده کنید تا فوکوس سطح سیستم را به برگه ای که دارای پنجره تصویر در تصویر سند است بیاورید.

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

وارد کردن ویژگی ها with نحو

ویژگی‌های وارداتی یک ویژگی جاوا اسکریپت هستند که اجازه حاشیه‌نویسی اعلان‌های واردات را می‌دهند، برای مثال import xxx from "mod" with { type: "json" } . Chrome در ابتدا نسخه قبلی پیشنهاد (در Chrome 91) را با استفاده از assert به عنوان کلمه کلیدی ارسال کرد. این نسخه سپس به دلیل برخی تغییرات مورد نیاز هنگام ادغام آن با HTML برای ماژول های JSON و CSS with استفاده به روز شد.

jitterBufferTarget

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

زمان بندی فریم انیمیشن طولانی

Long Animation Frames API یک برنامه افزودنی از Long Tasks API است. این کار را به همراه به‌روزرسانی رندر بعدی آن اندازه‌گیری می‌کند، و اطلاعاتی مانند اسکریپت‌های در حال اجرا طولانی، زمان رندر و زمان صرف شده در طرح‌بندی و سبک اجباری، که به عنوان layout thrashing شناخته می‌شود، اضافه می‌کند.

توسعه دهندگان می توانند از این به عنوان تشخیصی برای "تنگی" استفاده کنند، که با INP اندازه گیری می شود، با یافتن علل تراکم نخ اصلی که اغلب علت INP بد است.

رابط NavigationActivation navigation.activation اضافه می کند. این اطلاعات مربوط به زمانی است که سند فعلی فعال شده است (به عنوان مثال، زمانی که مقداردهی اولیه شده است، یا از حافظه پنهان عقب/ جلو بازیابی شده است).

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

رویداد pagereveal

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

نویسنده صفحه می تواند از آن برای تنظیم تجربه ورود به صفحه استفاده کند - مانند انتقال مشاهده از حالت قبلی.

PointerEvent.deviceId برای جوهر کاری چند قلمی

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

بررسی دسترسی به شبکه خصوصی برای درخواست‌های ناوبری: حالت فقط هشدار

قبل از اینکه وب سایت A به سایت B دیگری در شبکه خصوصی کاربر هدایت شود، این ویژگی موارد زیر را انجام می دهد:

  1. بررسی می کند که آیا درخواست از یک زمینه امن آغاز شده است یا خیر.
  2. یک درخواست قبل از پرواز ارسال می‌کند و بررسی می‌کند که آیا B با سرصفحه‌ای پاسخ می‌دهد که اجازه دسترسی به شبکه خصوصی را می‌دهد.

در حال حاضر ویژگی هایی برای منابع فرعی و کارگران وجود دارد، اما این افزوده به طور خاص برای درخواست های ناوبری است.

این بررسی ها برای محافظت از شبکه خصوصی کاربر انجام می شود. از آنجایی که این ویژگی حالت "فقط هشدار" است، در صورت عدم موفقیت هر یک از بررسی ها، درخواست ها را از بین نمی برد. در عوض، یک هشدار در DevTools نشان داده می‌شود تا به توسعه‌دهندگان کمک کند تا برای اجرای آینده آماده شوند.

راهنمایی مشتری Sec-CH-UA-Form-Factor

این اشاره «فرم فاکتور» کاربر-عامل یا دستگاه را نشان می‌دهد تا سایت بتواند پاسخ خود را تنظیم کند.

Service Worker Static Routing API

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

به‌روزرسانی فضای ذخیره‌سازی مشترک

این به‌روزرسانی از اجرای worklets cross source بدون نیاز به ایجاد iframe پشتیبانی می‌کند.

zstd Content-Encoding

Zstandard یا zstd یک مکانیسم فشرده سازی داده است که در RFC8878 توضیح داده شده است. این یک الگوریتم فشرده سازی سریع بدون تلفات است که سناریوهای فشرده سازی بلادرنگ را در سطح zlib و نسبت فشرده سازی بهتر هدف قرار می دهد. رمز zstd به عنوان یک توکن Content-Encoding ثبت شده در IANA اضافه شد.

افزودن پشتیبانی از zstd به‌عنوان رمزگذاری محتوا به بارگیری سریع‌تر صفحات و استفاده از پهنای باند کمتر کمک می‌کند و زمان، CPU و انرژی کمتری را برای فشرده‌سازی روی سرورهای ما صرف می‌کند و در نتیجه هزینه‌های سرور کاهش می‌یابد.

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

در Chrome 123 می‌توانید آزمایش‌های اصلی جدید زیر را انتخاب کنید.

WebAssembly جاوا اسکریپت یکپارچه سازی را وعده می دهد

به منظور پشتیبانی از برنامه‌های واکنش‌گرا که با استفاده از WebAssembly نوشته شده‌اند، لازم است ویژگی‌هایی ارائه شود که به برنامه‌های WebAssembly اجازه تعلیق و از سرگیری را می‌دهد.

مورد استفاده اولیه اولیه برای یکپارچه سازی وعده این است که به برنامه های WebAssembly که منبع آنها به APIهای همزمان متکی است اجازه دهیم از APIهای ناهمزمان استفاده کنند که به طور فزاینده ای در پلت فرم وب رایج هستند.

برای آزمایش مبدا یکپارچه سازی قول ثبت نام کنید .

حذف ها

کروم 123 ویژگی زیر را حذف می کند.

نام مستعار window-placement برای مجوز و سیاست مجوز window-management

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

هشدارهای منسوخ شدن نام مستعار window-placement در Chrome 113 آغاز شد و اکنون حذف خواهد شد.