جدید در کروم 74

در Chrome 74، ما پشتیبانی از موارد زیر را اضافه کرده‌ایم:

و خیلی چیزهای دیگر وجود دارد!

من پیت لی پیج هستم. بیایید وارد آن شویم و ببینیم چه چیزی برای توسعه دهندگان در Chrome 74 جدید است!

تغییر گزارش

این فقط برخی از نکات کلیدی را پوشش می دهد، پیوندهای زیر را برای تغییرات بیشتر در Chrome 74 بررسی کنید.

فیلدهای کلاس خصوصی

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

class IncreasingCounter {
  // Public class field
  _publicValue = 0;
  get value() {
    return this._publicValue;
  }
  increment() {
    this._publicValue++;
  }
}

و من گفتم زمینه های کلاس خصوصی در حال انجام است. من خوشحالم که بگویم فیلدهای کلاس خصوصی در کروم 74 فرود آمده اند. نحو فیلدهای خصوصی جدید مشابه فیلدهای عمومی است، با این تفاوت که با استفاده از یک # (علامت پوند) فیلد را به عنوان خصوصی علامت گذاری می کنید. # را به عنوان بخشی از نام فیلد در نظر بگیرید.

class IncreasingCounter {
  // Private class field
  #privateValue = 0;
  get value() {
    return this.#privateValue;
  }
  increment() {
    this.#privateValue++;
  }
}

به یاد داشته باشید، فیلدهای private فقط همین هستند، خصوصی . آنها در داخل کلاس در دسترس هستند، اما خارج از بدنه کلاس در دسترس نیستند.

class SimpleClass {
  _iAmPublic = 'shared';
  #iAmPrivate = 'secret';
  doSomething() {
    ...
  }
}

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

prefers-reduced-motion

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

Chrome اکنون یک جستجوی رسانه ارائه می‌دهد، prefers-reduced-motion - بخشی از مشخصات Media Queries سطح 5 است که به شما امکان می‌دهد تشخیص دهید چه زمانی این گزینه روشن است.


@media (prefers-reduced-motion: reduce)

تصور کنید یک دکمه ثبت نام دارم که با یک حرکت جزئی توجه را به سمت خود جلب می کند. جستار جدید به من امکان می دهد حرکت را فقط برای دکمه خاموش کنم.

button {
  animation: vibrate 0.3s linear infinite both;
}

@media (prefers-reduced-motion: reduce) {
  button {
    animation: none;
  }
}

مقاله تام را بررسی کنید Move Ya! یا شاید، انجام ندهید، اگر کاربر ترجیح می دهد - کاهش حرکت! برای جزئیات بیشتر

رویدادهای transition CSS

مشخصات CSS Transitions مستلزم این است که رویدادهای انتقال زمانی ارسال شوند که یک انتقال در نوبت قرار می گیرد، شروع می شود، به پایان می رسد یا لغو می شود. این رویدادها مدتی است که در سایر مرورگرها پشتیبانی می شوند…

اما، تا به حال، آنها در کروم پشتیبانی نمی شدند. در Chrome 74 اکنون می توانید به موارد زیر گوش دهید:

  • transitionrun
  • transitionstart
  • transitionend
  • transitioncancel

با گوش دادن به این رویدادها، ردیابی یا تغییر رفتار هنگام اجرای یک انتقال امکان پذیر است.

به‌روزرسانی‌های API خط مشی ویژگی

خط‌مشی‌های ویژگی، به شما این امکان را می‌دهند که به طور انتخابی رفتار APIها و سایر ویژگی‌های وب را فعال، غیرفعال و اصلاح کنید. این کار یا از طریق هدر Feature-Policy یا از طریق ویژگی allow در iframe انجام می شود.

Feature-Policy: geolocation 'self'
<iframe ... allow="geolocation self">
</iframe>

Chrome 74 مجموعه جدیدی از API ها را برای بررسی اینکه کدام ویژگی ها فعال هستند معرفی می کند:

  • می‌توانید فهرستی از ویژگی‌های مجاز را با document.featurePolicy.allowedFeatures() دریافت کنید.
  • با document.featurePolicy.allowsFeature(...) می توانید بررسی کنید که آیا یک ویژگی خاص مجاز است یا خیر.
  • و، می‌توانید فهرستی از دامنه‌های مورد استفاده در صفحه فعلی را دریافت کنید که به یک ویژگی مشخص اجازه می‌دهد با document.featurePolicy.getAllowlistForFeature() .

برای جزئیات بیشتر ، پست مقدمه سیاست ویژگی را بررسی کنید.

و بیشتر!

اینها تنها تعدادی از تغییرات کروم 74 برای توسعه دهندگان است، البته موارد بسیار بیشتری نیز وجود دارد. من شخصاً در مورد KV Storage بسیار هیجان‌زده هستم، یک سرویس ذخیره‌سازی کلید/مقدار فوق‌العاده سریع، غیرهمگام، که به‌عنوان آزمایشی اصلی در دسترس است.

Google I/O به زودی راه اندازی می شود!

و فراموش نکنید - Google I/O فقط چند هفته دیگر است (7 تا 9 مه) و ما چیزهای جدید و عالی زیادی برای شما خواهیم داشت. اگر نتوانید به آن برسید، همه جلسات به صورت زنده پخش می شود و پس از آن در کانال YouTube Developers Chrome ما در دسترس خواهد بود.

مشترک شوید

می‌خواهید با ویدیوهای ما به‌روز بمانید، سپس در کانال YouTube Developers Chrome مشترک شوید و هر زمان که ویدیوی جدیدی را راه‌اندازی کنیم، یک اعلان ایمیلی دریافت خواهید کرد.

من Pete LePage هستم، و به محض انتشار Chrome 75، من اینجا خواهم بود تا به شما بگویم -- چه چیزهای جدیدی در Chrome وجود دارد!