في ما يلي ما تحتاج إلى معرفته:
- يمكن لتطبيقات الويب المُثبَّتة تسجيل نفسها كمعالجات ملفات، ما يسهِّل على المستخدمين فتح الملفات مباشرةً من القرص.
- تسمح لك سمة
inert
بوضع علامة على أجزاء من DOM على أنّها غير نشطة. - تسهِّل واجهة برمجة التطبيقات Navigation API على تطبيقات الصفحة الواحدة معالجة التنقّل والتعديلات على عنوان URL.
- وهناك الكثير من الميزات الأخرى.
اسمي بيت ليبيه. لنلقِ نظرة على الميزات الجديدة للمطوّرين في الإصدار 102 من Chrome.
File Handling API
تسمح واجهة برمجة التطبيقات File Handling API لتطبيقات الويب التقدّمية المثبَّتة بالتسجيل في نظام التشغيل كمعالجملف. بعد التسجيل، يمكن للمستخدم النقر على ملف لفتحه باستخدام تطبيق PWA المثبَّت. وهذا مثالي لتطبيقات الويب المتوافقة مع الأجهزة الجوّالة التي تتفاعل مع الملفات، مثل محرّري الصور وأدوات تطوير البرامج المتكاملة ومحرّري النصوص وما إلى ذلك.
لإضافة وظيفة معالجة الملفات إلى تطبيقك المتوافق مع الأجهزة الجوّالة، عليك تعديل
بيان تطبيق الويب، وإضافة صفيف file_handlers
يتضمّن تفاصيل عن أنواع
الملفات التي يمكن لتطبيقك المتوافق مع الأجهزة الجوّالة معالجتها. عليك تحديد عنوان URL المطلوب فتحه وأنواع ملف MIME ورمز لنوع الملف ونوع الإطلاق. يحدِّد نوع الإطلاق
ما إذا كان يجب فتح ملفات متعددة في ملف عملاء واحد أو في
عملاء متعدّدين.
"file_handlers": [
{
"action": "/open-csv",
"accept": {"text/csv": [".csv"]},
"icons": [
{
"src": "csv-icon.png",
"sizes": "256x256",
"type": "image/png"
}
],
"launch_type": "single-client"
}
]
بعد ذلك، للوصول إلى هذه الملفات عند تشغيل تطبيق الويب التقدّمي، عليك تحديد launchQueue
consumer لعنصر launchQueue
. يتم وضع عمليات الإطلاق في قائمة الانتظار إلى أن تتم
معالجتها من قِبل المستهلك.
// Access from Window.launchQueue.
launchQueue.setConsumer((launchParams) => {
if (!launchParams.files.length) {
// Nothing to do when the queue is empty.
return;
}
for (const fileHandle of launchParams.files) {
// Handle the file.
openFile(fileHandle);
}
});
اطّلِع على السماح لتطبيقات الويب المثبّتة بمعالجة الملفات للاطّلاع على جميع التفاصيل.
سمة inert
السمة inert
هي سمة HTML شاملة تطلب من المتصفّح تجاهل أحداث إدخال المستخدم لعنصر معيّن، بما في ذلك أحداث التركيز والأحداث المرسَلة من التقنيات المساعِدة.
يمكن أن يكون ذلك مفيدًا عند إنشاء واجهات مستخدم. على سبيل المثال، في مربّع حوار مشروط، تريد
"حبس" التركيز داخل مربّع الحوار المشروط عندما يكون مرئيًا. أمّا بالنسبة إلى الأدراج التي
لا تظهر للمستخدم في بعض الأحيان، فتؤمّن إضافة inert
عدم تفاعل المستخدم عن طريق الخطأ مع الأدراج عندما تكون خارج الشاشة.
<div>
<label for="button1">Button 1</label>
<button id="button1">I am not inert</button>
</div>
<div inert>
<label for="button2">Button 2</label>
<button id="button2">I am inert</button>
</div>
في هذه الحالة، تمّ الإعلان عن inert
في عنصر <div>
الثاني، لذا لا يمكن لأي محتوى
مضمّن فيه، بما في ذلك <button>
و<label>
، تلقّي
التركيز أو النقر عليه.
تتوفّر inert
في الإصدار 102 من Chrome، وسيتم طرحها في Firefox وSafari.
اطّلِع على لمحة عن ميزة "العناصر غير القابلة للتفاعل" لمزيد من التفاصيل.
Navigation API
تعتمد العديد من تطبيقات الويب على إمكانية تعديل عنوان URL بدون تصفّح الصفحة. في الوقت الحالي، نستخدم History API، ولكنّه غير فعّال ويصعُب استخدامه، ويحدث أحيانًا أنّه لا يعمل على النحو المتوقّع. بدلاً من محاولة إصلاح المشاكل المتعلّقة بمنصّة History API، تُجري Navigation API عملية إصلاح شاملة لهذه المساحة.
لاستخدام Navigation API، أضِف مستمعًا navigate
على العنصر navigation
العمومي.
navigation.addEventListener('navigate', (navigateEvent) => {
switch (navigateEvent.destination.url) {
case 'https://example.com/':
navigateEvent.transitionWhile(loadIndexPage());
break;
case 'https://example.com/cats':
navigateEvent.transitionWhile(loadCatsPage());
break;
}
});
يكون الحدث مركزيًا بشكل أساسي، وسيتم تنشيط جميع أنواع عمليات التنقّل، سواء أدى المستخدم إجراءً، مثل النقر على رابط، أو إرسال نموذج، أو الرجوع والتقديم، حتى في حال بدء عملية التنقّل برمجيًا. في معظم الحالات، يسمح هذا الإجراء لرمزك البرمجي بإلغاء السلوك التلقائي للمتصفّح لهذا الإجراء.
اطّلِع على مقالة التوجيه الحديث من جهة العميل: Navigation API للحصول على التفاصيل الكاملة وعرض توضيحي يمكنك تجربته.
وغير ذلك
بالطبع، هناك الكثير من الميزات الأخرى.
- تهدف واجهة برمجة التطبيقات Sanitizer API الجديدة إلى إنشاء معالج قوي لسلاسل عشوائية لإدراجها بأمان في الصفحة.
- تتيح سمة
hidden=until-found
للمتصفّح البحث عن نص في المناطق المخفية، وكشف هذا القسم في حال العثور على مطابقة.
مراجع إضافية
لا يتناول هذا التقرير سوى بعض أهم التفاصيل. يمكنك الاطّلاع على الروابط أدناه للاطّلاع على التغييرات الإضافية في الإصدار 102 من Chrome.
- الميزات الجديدة في الإصدار 102 من "أدوات مطوّري البرامج في Chrome"
- إيقاف ميزات وأدوات نهائي في الإصدار 102 من Chrome وإزالتها
- تعديلات ChromeStatus.com على الإصدار 102 من Chrome
- قائمة التغييرات في مستودع مصدر Chromium
- تقويم إصدارات Chrome
اشتراك
للاطّلاع على آخر الأخبار، يمكنك الاشتراك في قناة YouTube الخاصة بمطوّري Chrome، وستتلقّى إشعارًا عبر البريد الإلكتروني عند نشر فيديو جديد.
اسمي "بيت ليبيه"، وسأكون هنا لإطلاعك على ميزات الإصدار 103 من Chrome فور طرحه.