تاریخ انتشار: 13 نوامبر 2024
مگر اینکه غیر از این ذکر شده باشد، تغییرات زیر در جدیدترین نسخه کانال بتا Chrome برای Android، ChromeOS، Linux، macOS و Windows اعمال میشود. از طریق پیوندهای ارائه شده یا از فهرست موجود در ChromeStatus.com درباره ویژگی های فهرست شده در اینجا بیشتر بیاموزید. Chrome 132 از 13 نوامبر 2024 نسخه بتا است. میتوانید آخرین نسخه را در Google.com برای دسکتاپ یا در فروشگاه Google Play در Android بارگیری کنید.
CSS
این نسخه دو ویژگی جدید CSS را اضافه می کند.
CSS Anchor Positioning: anchor-size()
در خصوصیات inset
و margin
مجاز می کند
در اصل، anchor-size()
فقط در خواص اندازه مجاز بود. مشخصات تغییر کرد تا anchor-size()
در insets و margins نیز مجاز کند.
حالت های نوشتن جانبی CSS
پشتیبانی از کلمات کلیدی sideways-rl
و sideways-lr
برای ویژگی CSS writing-mode
. sideways-rl
و sideways-lr
برای نوشتن متن غیر CJK به صورت عمودی مفید هستند. آنها برخلاف vertical-rl
و vertical-lr
رفتارهای مطلوبی برای زبان های CJK ندارند.
API های وب
تمام صفحه ها را ضبط کنید
با استفاده از getAllScreensMedia()
از تمام صفحههایی که در حال حاضر به دستگاه متصل هستند عکس بگیرید.
چندین بار فراخوانی getDisplayMedia()
به حرکات چندگانه کاربر نیاز دارد، کاربر را مجبور میکند تا هر بار صفحه بعدی را انتخاب کند، و به برنامه تضمین نمیکند که همه صفحهها انتخاب شدهاند. متد getAllScreensMedia()
در همه این جبهه ها بهبود می یابد.
این ویژگی فقط روی دسکتاپ ارسال می شود.
رویدادهای تغییر دیالوگ
دانستن اینکه چه زمانی عناصر <dialog>
باز و بسته میشوند، مفید است و popover
قبلاً ToggleEvent
دارد که با باز یا بسته شدن پاپاور ارسال میشود. قبلاً، برای تشخیص زمانی که یک <dialog>
باز میشود، باید یک ناظر جهش را ثبت میکردید تا باز بودن را بررسی کند، با این حال، در جایی که یک رویداد آسانتر میشود، این کار بسیار زیادی است.
این تغییر شامل همان ToggleEvent
است که popovers ارسال می کند، اما برای عناصر <dialog>
: وقتی showModal
یا show
فراخوانی می شود، <dialog>
یک ToggleEvent
با newState=open
ارسال می کند. هنگامی که یک <dialog>
بسته می شود (با استفاده از فرم، دکمه یا تماشاگر نزدیک)، باید یک ToggleEvent
با newState=closed
ارسال کند.
ضبط عنصر
با توجه به ویدئویی MediaStreamTrack
که از طریق ابزارهای از قبل موجود برای شروع ضبط برگه به دست آمده است، Element Capture اجازه می دهد تا آهنگ را تغییر دهید تا فقط یک زیردرخت از DOM را که از یک عنصر مشخص شروع می شود، ضبط کند.
API شباهتهایی با Region Capture API دارد، اما انعطافپذیری بیشتری برای برنامهها فراهم میکند، زیرا محتوای مسدود و مسدود شده هر دو از ضبط حذف میشوند.
ویژگی های مجوز FedCM
این مجموعه چند ویژگی دارد که میتواند توسط ارائهدهندگان هویت (IdP) برای پیادهسازی جریانهای مجوز استفاده شود، مانند اجازه دادن به کاربر برای دسترسی به تقویم خود به یک حزب متکی (RP). به طور مشخص:
- IdP باید بتواند یک درخواست سفارشی برای مجوز (ادامه API) نشان دهد.
- RP نیاز به یک راه توسعه پذیر برای ارتباط با IdP دارد که می خواهد به آن دسترسی داشته باشد (پارامترهای API).
- RP باید بتواند متنی را که به اشتراکگذاری IdP «نام، آدرس ایمیل و تصویر نمایه» اشاره دارد، سفارشی یا سرکوب کند، زیرا در این شرایط اطلاعات مختلفی را میخواهند (فیلدهای API).
- IdP ممکن است بخواهد از یک نقطه پایانی متفاوت برای اجرای جریان مجوز استفاده کند (کانفیگURL های متعدد).
- حسابهای خاص ممکن است فقط برای یکی از جریانهای احراز هویت و مجوز واجد شرایط باشند، بنابراین باید راهی برای نمایش حسابهای مختلف در دو جریان وجود داشته باشد (API برچسبهای حساب).
FedCM Mode API و استفاده از سایر API حساب
دو افزونه جدید برای FedCM:
- حالت : حالت
active
به وبسایتها اجازه میدهد با کلیک روی دکمه FedCM را فراخوانی کنند (به عنوان مثال، روی دکمه ورود به IdP کلیک کنید)، که به FedCM نیاز دارد تا تضمین کند که همیشه با یک رابط کاربری قابل مشاهده پاسخ میدهد. فراخوانی API FedCM در حالت فعال باعث میشود تا وقتی کاربران از سیستم خارج میشوند، به Identity Provider (IdP) وارد شوند. همچنین، از آنجایی که حالت فعال در یک ژست کاربر صریح فراخوانی میشود، رابط کاربری نیز در مقایسه با رابط کاربری از حالت غیرفعال (که نیازی به ژست کاربر ندارد و میتوان آن را فراخوانی کرد) برجستهتر (مثلاً مرکزی و مدال) است. در بارگذاری صفحه). - استفاده از سایر حسابها : با استفاده از این برنامه افزودنی، یک IdP میتواند به کاربران اجازه ورود به حسابهای دیگر را بدهد.
Fetch: Request.bytes()
و Response.bytes()
یک متد bytes()
به رابطهای Request
و Response
اضافه کنید، که یک وعده را برمیگرداند که با Uint8Array حل میشود. در حالی که Request
و Response
دارای یک متد arrayBuffer()
هستند، نمیتوانید مستقیماً از بافر بخوانید. برای خواندن آن باید یک view مانند Uint8Array
ایجاد کنید. روش bytes()
ارگونومی دریافت بدنه Request و Response را بهبود می بخشد.
دسترسی به سیستم فایل برای Android و WebView
این API به توسعه دهندگان این امکان را می دهد تا با استفاده از سیستم فایل دستگاه، برنامه های قدرتمندی بسازند که با برنامه های دیگر (غیر وب) روی دستگاه کاربر تعامل داشته باشند. پس از اینکه کاربر به یک برنامه وب اجازه دسترسی داد، این API به برنامه اجازه میدهد تا تغییرات را مستقیماً در فایلها و پوشههای انتخاب شده توسط کاربر بخواند یا ذخیره کند. فراتر از خواندن و نوشتن فایلها، این API توانایی باز کردن دایرکتوری و شمارش محتویات آن و همچنین ذخیره فایلها و دستههای دایرکتوری در IndexedDB را برای دسترسی مجدد به همان محتوا فراهم میکند.
دسترسی به سیستم فایل روی دسکتاپ در Chrome 86 ارسال شد، با Chrome 132 در Android و WebView در دسترس است.
Strict-Transport-Security را برای localhost نادیده بگیرید
هدرهای پاسخ Strict-Transport-Security
(STS) می توانند برای سرورهای وب لوکال هاست مشکل ایجاد کنند زیرا STS در سراسر میزبان و در همه پورت ها اعمال می شود. این باعث ایجاد مشکلات سازگاری برای توسعه دهندگان وب در آزمایش محلی می شود. همچنین بر کاربران نهایی که از بستههای نرمافزاری استفاده میکنند که معمولاً سرورهای وب لوکال هاست را به دلایل زودگذر راهاندازی میکنند، تأثیر میگذارد. به عنوان مثال، ارتباط یک نشانه اعتبار از ورود به وب به یک بسته نرم افزاری محلی. اگر یک شنونده محلی Strict-Transport-Security
روی یک پاسخ لوکال هاست تنظیم کند، بدون در نظر گرفتن پورت، برای همه درخواست های بعدی لوکال هاست اعمال می شود.
Chrome 132 این مشکل را با نادیده گرفتن سرصفحههای Strict-Transport-Security
در پاسخهای URLهای میزبان محلی حل میکند.
ظروف اسکرول قابل فوکوس روی صفحه کلید
عرضه این ویژگی (از Chrome 130) به دلیل رگرسیون دسترسی متوقف شد. این مشکل برطرف شده است و این ویژگی با Chrome 132 به عرضه خود ادامه میدهد.
خط مشی مجوزهای API Token State خصوصی ویلدکارت فهرست مجاز پیشفرض
دسترسی به Private State Token API توسط ویژگی های Permissions Policy محدود شده است. Chrome 132 فهرست مجاز پیشفرض را برای private-state-token-issuance
و ویژگیهای private-state-token-redemption
از self
به *
بهروزرسانی میکند (wildcard).
PushMessageData::bytes()
رابط PushMessageData
از رابط Body
تقلید میکند، که در اوایل سال جاری با متد bytes()
جدید اصلاح شد، طبق این اصل که APIها معمولاً باید بافرهای بایت را به عنوان Uint8Arrays
بفروشند. Chrome 132 با ارائه دسترسی bytes()
در رابط PushMessageData
نیز با رابط Body
هماهنگ می شود.
جستجوهای ذخیره شده در sharedStorage.selectURL
sharedStorage.selectURL()
اکنون اجازه میدهد پرسوجوها ذخیره شوند و مجدداً بر اساس هر صفحه مورد استفاده قرار گیرند، جایی که دو بودجه بارگذاری هر صفحه در اولین باری که یک کوئری ذخیره شده اجرا میشود شارژ میشود، اما نه برای اجرای بعدی کوئری ذخیره شده در طول همان بارگذاری صفحه این کار با یک پارامتر savedQuery
در گزینه های selectURL()
که پرس و جو را نامگذاری می کند، انجام می شود.
برای پاپاورها و دیالوگ ها در اسناد غیرفعال استثنا قرار دهید
پیش از این فراخوانی showPopover()
یا showModal()
در یک popover یا گفتگو که در یک سند غیرفعال قرار دارد، بیصدا با شکست مواجه میشود. هیچ استثنایی وجود نخواهد داشت، اما از آنجایی که سند غیرفعال است، هیچ پاپاور یا دیالوگی نشان داده نخواهد شد. از Chrome 132، این موقعیتها اکنون InvalidStateError
را ایجاد میکنند.
WebAuthn Signal API
به طرفهای متکی به WebAuthn اجازه میدهد تا اطلاعات مربوط به اعتبارنامههای موجود را به ارائهدهندگان فضای ذخیرهسازی اعتبارنامه بازگردانند تا اعتبارنامههای نادرست یا باطل شده را بتوان بهروزرسانی یا از رابط کاربری ارائهدهنده و سیستم حذف کرد.
درباره Signal API برای کلیدهای عبور در رایانه رومیزی Chrome بیشتر بیاموزید.
WebGPU: ترکیب بافت های شناور 32 بیتی
ویژگی پردازشگر گرافیکی float32-blendable
باعث می شود بافت های گرافیکی با فرمت های r32float
، rg32float
و rgba32float
قابل ترکیب شوند.
WebGPU: نمایش GPUAdapterInfo از GPUDevice
ویژگی GPUDevice adapterInfo
همان GPUAdapterInfo
را به عنوان شیء GPUAdapter
نشان می دهد.
WebGPU: استفاده از نمای بافت
یک فیلد اختیاری به ایجاد نمای بافت WebGPU اضافه می کند تا زیر مجموعه ای از پرچم های استفاده را از بافت منبع درخواست کند.
به طور پیشفرض، استفاده از نمای بافت از بافت منبع به ارث میرسد، اما قالبهای نمایشی وجود دارند که میتوانند با مجموعه کامل استفادههای ارثی ناسازگار باشند. افزودن یک فیلد استفاده به ایجاد نمای بافت به کاربر اجازه میدهد تا زیرمجموعهای از استفادههای بافت منبع را درخواست کند که با فرمت view معتبر هستند و مختص استفاده مورد نظر وی از نمای بافت هستند.
پیادهسازی WebGPU همچنین میتواند ایجاد منابع سطح پایین را بهینه کند و عملکرد را هنگام استفاده از نماهایی با پرچمهای استفاده تخصصیتر بهبود بخشد.
آزمایشات منشاء جدید
در Chrome 132 میتوانید آزمایشهای اصلی جدید زیر را انتخاب کنید.
Document-Isolation-Policy
Document-Isolation-Policy
به یک سند اجازه می دهد تا crossOriginIsolation
بدون نیاز به استقرار COOP یا COEP و بدون توجه به وضعیت crossOriginIsolation
برای خود فعال کند. این سیاست با انزوا فرآیند پشتیبانی می شود. علاوه بر این، منابع فرعی سند غیر CORS یا بدون اعتبار بارگیری می شوند یا باید سرآیند CORP داشته باشند.
نکات کامپایل صریح با نظرات جادویی
این ویژگی به شما امکان می دهد اطلاعاتی در مورد اینکه کدام توابع باید مشتاقانه در فایل های جاوا اسکریپت تجزیه و کامپایل شوند را پیوست کنید. اطلاعات به عنوان نظرات جادویی کدگذاری می شود.
محرومیت ها و حذف ها
این نسخه از Chrome موارد منسوخ و حذف زیر را معرفی می کند. برای مشاهده لیستی از لغو برنامه ریزی شده، منسوخ شدن فعلی و حذف قبلی، از ChromeStatus.com دیدن کنید.
این نسخه کروم دو ویژگی را حذف می کند.
navigator.storage
دیگر EventTarget
نیست
navigator.storage
یک EventTarget
برای رویداد Storage Pressure بود که هرگز از مرحله نمونه اولیه عبور نکرد. این کد مرده در حال حذف شدن است و در نتیجه، navigator.storage
دیگر EventTarget
گسترش نخواهد داد.
APIهای تمام صفحه پیشوند HTMLVideoElement
حذف کنید
APIهای تمام صفحه پیشوند HTMLVideoElement از Chrome منسوخ شده اند
آنها با Element.requestFullscreen()
API جایگزین شدند، که برای اولین بار بدون پیشوند در کروم 71 در سال 2018 ارسال شد. از سال 2024، اکثر مرورگرها چند سالی است که از APIهای بدون پیشوند پشتیبانی می کنند.
Chrome 132 موارد زیر را از HTMLVideoElement
حذف می کند:
- ویژگی
webkitSupportsFullscreen
. - ویژگی
webkitDisplayingFullscreen
. - متد
webkitEnterFullscreen()
- متد
webkitExitFullscreen()
به حروف بزرگ «S» در تمام صفحه توجه کنید. - متد
webkitEnterFullScreen()
- متد
webkitExitFullScreen()
این روش ها اکنون فقط نام مستعار برای API مدرن هستند. استفاده از آنها در طول سال ها به طور پیوسته کاهش یافته است.