มีอะไรใหม่ใน Chrome 120 สำหรับส่วนขยาย

Chrome 120 พร้อมใช้งานแล้วในรุ่นเบต้า และมีการอัปเดตที่น่าสนใจมากมายสำหรับนักพัฒนาส่วนขยาย Chrome

ปีนี้เป็นปีที่มีกิจกรรมมากมายสำหรับทีมส่วนขยาย Chrome สำหรับChrome 120 รุ่นเบต้าเมื่อวานนี้ แพลตฟอร์มส่วนขยายจึงถือเป็นก้าวสำคัญไปอีกขั้น สำหรับภาพรวมเกี่ยวกับสิ่งที่เกิดขึ้นในปีนี้ ดูข้อมูลอัปเดตรายไตรมาสจากเดือนกรกฎาคมและตุลาคม อ่านต่อเพื่อดูว่ามีอะไรใหม่ใน Chrome 120 สำหรับส่วนขยาย

ลดช่องว่างของแพลตฟอร์ม

ในการเปิดตัว Chrome 120 เราจะปิดช่องว่างที่เหลืออยู่ของแพลตฟอร์มซึ่งระบุไว้ในหน้าปัญหาที่ทราบเกี่ยวกับไฟล์ Manifest V3 UserScript API ใหม่และการสนับสนุนสำหรับการจัดการไฟล์บน ChromeOS เป็นอีก 2 รายการที่เหลือในรายการนี้ที่เราสามารถปรับเปลี่ยนได้ เมื่อประกอบกับการเปลี่ยนแปลงที่อธิบายไว้ในการอัปเดตรายไตรมาสก่อนหน้า เราพอใจมากเกี่ยวกับสถานะปัจจุบันของแพลตฟอร์มส่วนขยาย Chrome และสิ่งที่เราได้ดำเนินการในปีที่ผ่านมา

userScripts API ใหม่

การสนับสนุนสคริปต์ของผู้ใช้มาถึงแล้ว สคริปต์ของผู้ใช้คือข้อมูลโค้ด (ค่อนข้างเล็ก) ที่ส่วนขยายสามารถแทรกลงในหน้าเว็บเพื่อแก้ไขรูปลักษณ์หรือลักษณะการทำงานของหน้าเว็บ โดยผู้ใช้สามารถสร้างขึ้นได้โดยตรงหรือค้นพบได้ในที่เก็บสคริปต์ต่างๆ ของผู้ใช้ในเว็บ ตั้งแต่นั้นเป็นต้นไป ส่วนขยายไฟล์ Manifest V3 ของ Chrome 120 V3 จะจัดการคอลเล็กชันสคริปต์ของผู้ใช้ รวมถึงกำหนดเวลาและวิธีการแทรกสคริปต์ลงในหน้าเว็บได้

มีข้อแตกต่างสำคัญ 1 ประการระหว่างการรองรับสคริปต์ของผู้ใช้ในไฟล์ Manifest V2 และไฟล์ Manifest V3 เนื่องจากสคริปต์ผู้ใช้มีประสิทธิภาพและต้องอาศัยความน่าเชื่อถืออย่างสูงในผู้เขียนสคริปต์ผู้ใช้ ทีม Chrome จึงตัดสินใจว่าผู้ใช้ต้องเลือกใช้โหมดนักพัฒนาซอฟต์แวร์ก่อนจึงจะเรียกใช้สคริปต์ผู้ใช้ได้

หน้าส่วนขยาย
หน้าส่วนขยาย (chrome://extensions)

ตัวอย่าง userScript ใหม่ของเราแสดงถึงวิธีง่ายๆ ในการตรวจสอบว่าเปิดใช้โหมดนักพัฒนาซอฟต์แวร์หรือไม่ และมีขั้นตอนการเริ่มต้นใช้งานแบบง่าย

ตัวอย่างขั้นตอนการเริ่มต้นใช้งานสำหรับสคริปต์ผู้ใช้
ให้สิทธิ์เข้าถึงแก่ผู้ใช้เมื่อปิดโหมดนักพัฒนาซอฟต์แวร์

เริ่มต้นด้วยการอ่านเอกสารประกอบหรือดูตัวอย่างอย่างเป็นทางการ

ขีดจำกัดชุดกฎ DNR แบบคงที่ที่สูงขึ้น

โดยเราได้เพิ่มขีดจำกัดชุดกฎคงที่ที่เปิดใช้จาก 10 เป็น 50 รายการอย่างมาก นอกจากนี้ เราได้เพิ่มจำนวนชุดกฎแบบคงที่ทั้งหมดที่อนุญาตจาก 50 เป็น 100 ด้วย ซึ่งเป็นการตอบความคิดเห็นที่เราได้รับในกลุ่มชุมชนส่วนขยายเว็บ

ReadingList API ใหม่

Chrome เปิดตัวเรื่องรออ่านในปี 2021 เมื่อปีที่แล้ว ทีม Chrome ได้ทำให้การเข้าถึงเรื่องรออ่านง่ายขึ้นผ่านทางแผงด้านข้าง เราจะเพิ่มความสามารถของส่วนขยาย Chrome ในการสร้าง อ่าน อัปเดต และลบรายการเรื่องรออ่านใน Chrome 120 ดูข้อมูลเพิ่มเติมได้ในเอกสาร API และตัวอย่างใหม่ของเรา

เรื่องรออ่านของ Chrome แสดงหน้าเอกสารของส่วนขยาย
แผงด้านข้างเรื่องรออ่านใน Chrome

การจัดการไฟล์บน ChromeOS

การจัดการไฟล์จะทำให้ส่วนขยายเปิดไฟล์ที่มีประเภท MIME และนามสกุลไฟล์ที่ระบุได้ในลักษณะที่คล้ายกับการจัดการไฟล์ของแพลตฟอร์มเว็บ ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้ได้ที่การจัดการไฟล์ใน ChromeOS

ภาพหน้าจอของไฟล์ที่เปิดอยู่พร้อมกล่องโต้ตอบส่วนขยายใน ChromeOS
เปิดไฟล์ในส่วนขยายบน ChromeOS

ตั้งปลุกใน 30 วินาที

การอัปเดตนี้เป็นเพียงการอัปเดตเล็กๆ น้อยๆ แต่จะช่วยแก้ไขปัญหาช่องว่างที่สำคัญในวงจรการทำงานของโปรแกรมทำงานของบริการ เนื่องจากลักษณะของ Service Worker ที่ขับเคลื่อนด้วยเหตุการณ์ วิธีที่แนะนำในการเริ่มการทำงานของเหตุการณ์ในอนาคตคือการใช้ chrome.alarms Alarms API ทำให้เหตุการณ์เริ่มทำงานแม้ว่า Service Worker จะปิดการทำงานในระหว่างนั้น

แต่ก็ยังมีอยู่นะ ก่อน Chrome 120 ระยะเวลาที่สั้นที่สุดในการทริกเกอร์การปลุกคือ 1 นาที อย่างไรก็ตาม โปรแกรมทำงานของบริการจะปิดตัวลงหลังจากไม่มีการใช้งานเป็นเวลา 30 วินาที ดังนั้นจึงไม่มีวิธีที่ตรงไปตรงมาในการกำหนดเวลาการปลุกให้เริ่มทำงานใน 45 วินาที เนื่องจากเมื่อใช้ setTimeout() เพื่อตั้งค่าเหตุการณ์ใน 45 วินาที โปรแกรมทำงานของบริการอาจถูกปิดก่อนที่เหตุการณ์จะเริ่มทำงาน

ตั้งแต่ Chrome 120 เป็นต้นไป ตอนนี้คุณสามารถเริ่มการทำงานของเหตุการณ์ได้ในช่องทางต่อไปนี้

  • น้อยกว่า 30 วินาทีโดยใช้ setTimeout()
  • ยาวกว่าหรือเท่ากับ 30 วินาทีโดยใช้ chrome.alarms
await chrome.alarms.create('demo-default-alarm', {
   periodInMinutes: 0.45
 });

สรุป

เราตื่นเต้นมากกับความคืบหน้าของแพลตฟอร์มที่ขยายเวลาในปีที่ผ่านมา Chrome 120 ถือเป็นอีกก้าวสำคัญด้วยการเพิ่มขีดจำกัด DNR และการรองรับสคริปต์ผู้ใช้