เมื่อเดือนกรกฎาคมที่ผ่านมา เราได้เปิดตัวซีรีส์บล็อกใหม่เพื่อให้คุณทราบข้อมูลอัปเดตเกี่ยวกับการพัฒนาส่วนขยาย ความคิดเห็นอันมีค่าของคุณและการทํางานร่วมกับผู้ให้บริการเบราว์เซอร์รายอื่นๆ ในกลุ่มชุมชน WebExtensions อย่างต่อเนื่องช่วยให้เราปรับปรุง API ของส่วนขยายและมุ่งมั่นสร้างความสอดคล้องกันมากขึ้นในเบราว์เซอร์ต่างๆ ได้
ยินดีต้อนรับสู่ฉบับเดือนตุลาคม ในโพสต์นี้ เราจะพูดถึงการเปลี่ยนแปลงบางอย่างที่ทีมส่วนขยายของ Chrome ได้ทำในช่วงไม่กี่เดือนที่ผ่านมา รวมถึงฟีเจอร์ใหม่ๆ บางรายการที่จะเปิดตัวภายในปีนี้ มาเริ่มกันเลย
API และฟีเจอร์ใหม่ของส่วนขยาย
ส่วนนี้จะแชร์การเปิดตัว API ที่สําคัญบางรายการ ตรวจสอบการปรับปรุง API อื่นๆ สั้นๆ และแชร์รุ่นที่กําลังจะเปิดตัว ขณะนี้การเปิดตัวทั้งหมดพร้อมใช้งานในรุ่นเบต้าล่าสุด โปรดดูรายละเอียดที่กำหนดการเผยแพร่ Chromium
ไฮไลต์
ปัญหาที่ทราบซึ่งแก้ไขแล้ว
ทีมส่วนขยายกําลังดําเนินการอย่างเต็มที่เพื่อแก้ไขปัญหาความเสถียรของ Manifest V3 Chrome 116 เปิดตัวการปรับปรุงหลายอย่างซึ่งช่วยให้เราก้าวหน้าไปมากในการปิดช่องว่างของฟีเจอร์ระหว่าง Manifest V2 กับ V3 ใน Chrome 120 เราจะแก้ไขปัญหาช่องโหว่ของแพลตฟอร์มที่มีความสำคัญทั้งหมดและปิดข้อบกพร่องร้ายแรงทั้งหมดที่บันทึกไว้ในหน้าปัญหาที่ทราบ ขณะนี้ฟีเจอร์ทั้งหมดพร้อมใช้งานใน Chrome 120 Canary ยกเว้นการรองรับ fileHandler สำหรับ ChromeOS Lacros และ userScripts API ซึ่งจะพร้อมใช้งานภายในเดือนนี้ ดูรายละเอียดเพิ่มเติมได้ที่หน้าปัญหาที่ทราบฉบับปรับปรุง
ปรับปรุงความเสถียรของ Service Worker
ปัญหาความเสถียรที่เกี่ยวข้องกับ Service Worker ได้รับการแก้ไขแล้ว ใน Chrome 116 เราได้เพิ่มการคงสถานะไว้อย่างมีประสิทธิภาพใน API ของส่วนขยายที่แสดงข้อความแจ้งให้ผู้ใช้ดำเนินการและปรับปรุงการรองรับ WebSockets (ดูบทแนะนำการใช้ WebSockets ในส่วนขยาย) ตั้งแต่ Chrome 118 เป็นต้นไป บริการเวิร์กเกอร์จะยังคงทำงานอยู่ในช่วงเซสชัน Debugger API ที่ใช้งานอยู่
ดูรายละเอียดเพิ่มเติมได้ในคำแนะนำเกี่ยวกับ Service Worker ฉบับปรับปรุง หากผู้ใช้ยังคงพบปัญหาความเสถียรที่เกี่ยวข้องกับ Service Worker ใน Chrome เวอร์ชันหลัง 119 โปรดแจ้งให้เราทราบ
การรักษาความปลอดภัยที่เพิ่มขึ้น
ก่อนหน้านี้ การไปยัง URL chrome://
บางรายการโดยใช้ tabs.update()
, tabs.create
และ windows.create()
จะแสดงข้อผิดพลาดหรือทำให้ Chrome ขัดข้อง นอกจากนี้ tabs.update()
ยังเปิด URL ของ JavaScript ไม่ได้ ใน Chrome 117 เราได้เพิ่มจำนวน URL ของ chrome://
ที่รองรับ และตอนนี้การบล็อก URL ของ JavaScript จะมีผลกับเมธอด API ทั้งหมดของส่วนขยายด้วย
ใน Chrome 117 ผู้ใช้จะได้รับการแจ้งเตือนล่วงหน้าในหน้าส่วนขยายของ Chrome หากส่วนขยายที่ติดตั้งไว้ไม่พร้อมใช้งานใน Chrome เว็บสโตร์อีกต่อไป กรณีนี้อาจเกิดขึ้นหากนักพัฒนาแอปเลิกเผยแพร่ส่วนขยาย ส่วนขยายถูกนำออกเนื่องจากการละเมิดนโยบาย หรือมีการระบุว่าเป็นมัลแวร์ ดูข้อมูลโดยละเอียดได้ที่การนำการตรวจสอบความปลอดภัยมาไว้ในหน้า chrome://extensions
ใน Chrome 118 ระบบจะไม่อนุญาตให้ส่วนขยายไปยัง URL file://
โดยใช้ chrome.tabs
และ chrome.windows
API เว้นแต่ว่าจะมีการเปิดใช้ตัวเลือก "อนุญาตให้เข้าถึง URL ของไฟล์" ในหน้ารายละเอียดของส่วนขยาย ดูการสนทนาใน WECG
การเปิดตัว API เพิ่มเติม
- Runtime API: ตั้งแต่ Chrome 116 เป็นต้นไป คุณจะใช้
runtime.getContexts()
เพื่อดึงข้อมูลเกี่ยวกับบริบทที่ใช้งานอยู่ได้ เช่น คุณสามารถตรวจสอบว่ามีเอกสารที่ใช้งานอยู่นอกหน้าจอหรือไม่ - Side Panel API ใน Chrome 116 คุณสามารถใช้
sidepanel.open()
เพื่อเปิดแผงด้านข้างของส่วนขยายแบบเป็นโปรแกรมเพื่อตอบสนองต่อท่าทางสัมผัสของผู้ใช้ เช่น การคลิกเมนูบริบท - TabCapture API เพิ่มความสามารถในการเรียก
getMediaStreamId()
จาก Service Worker ของส่วนขยายและรับออบเจ็กต์MediaStream
จากรหัสสตรีมในเอกสารที่อยู่นอกหน้าจอใน Chrome 116 ดูตัวอย่างได้ที่การบันทึกเสียงและการจับภาพหน้าจอ - DeclarativeNetRequest API: ค่าเริ่มต้นสำหรับพร็อพเพอร์ตี้
isUrlFilterCaseSensitive
เปลี่ยนเป็นfalse
ใน Chrome 118
พบกันเร็วๆ นี้...
เราวางแผนที่จะแก้ไขปัญหาที่เหลือทั้งหมดในหน้าปัญหาที่ทราบด้วยการเปิดตัว Chrome 120 นอกจากนี้ เรายังมีแผนที่จะเพิ่มฟีเจอร์ต่อไปนี้
- UserScripts API จะช่วยให้ผู้จัดการสคริปต์ของผู้ใช้ประสานงานเกี่ยวกับวิธีและเวลาที่จะแทรกคอลเล็กชันสคริปต์ของผู้ใช้ลงในหน้าเว็บได้ ดูรายละเอียดได้ในข้อเสนอ WECG
- ReadingList API จะช่วยให้นักพัฒนาแอปสร้าง อ่าน อัปเดต และลบข้อมูลเมตาที่อยู่ในแผงเรื่องรออ่านของแผงด้านข้างได้ ดูประกาศได้ในมีอะไรใหม่ในส่วนขยาย Chrome
- จากความคิดเห็นในกลุ่มชุมชนส่วนขยายเว็บ เราจึงเพิ่มขีดจำกัดของชุดกฎแบบคงที่ที่เปิดใช้จาก 10 เป็น 50 รายการ นอกจากนี้ เรายังเพิ่มจำนวนกฎชุดคงที่ทั้งหมดที่อนุญาตจาก 50 เป็น 100 รายการ ปัจจุบันฟีเจอร์นี้พร้อมให้ใช้งานใน Canary
- File Handling API: จะใช้ได้กับส่วนขยาย ChromeOS ตั้งแต่ ChromeOS 120 เป็นต้นไป ซึ่งจะช่วยให้ส่วนขยายเปิดไฟล์ที่มีประเภท MIME และนามสกุลไฟล์ที่ระบุในลักษณะที่คล้ายกับการจัดการไฟล์บนแพลตฟอร์มเว็บได้
- ส่วนขยายจะใช้ Push API บนเว็บผ่าน
self.registration.pushManager.subscribe()
ได้โดยไม่ต้องแสดงการแจ้งเตือนที่ผู้ใช้มองเห็นโดยการตั้งค่าuserVisibleOnly
เป็นfalse
ซึ่งจะทำให้ Push Notification เป็นทางเลือกที่ราบรื่นยิ่งขึ้นสำหรับ WebSocket ใน Service Worker (MV3) สำหรับการสื่อสารแบบไม่พร้อมกันระหว่างไคลเอ็นต์กับเซิร์ฟเวอร์ โปรดดูรายละเอียดที่ข้อบกพร่องของ Chromium และการสนทนาใน WECG
โปรดติดตามประกาศในหน้ามีอะไรใหม่ในส่วนขยายทันทีที่ฟีเจอร์เหล่านี้พร้อมใช้งานใน Chrome รุ่นเบต้า
การอัปเกรดเอกสารประกอบ
นอกจากนี้ เรายังปรับปรุงและเพิ่มเอกสารประกอบด้วย โปรดถามคำถามต่อใน chromium-group และรายงานปัญหาเกี่ยวกับเอกสารประกอบ
ไฮไลต์
- เราได้ปรับปรุงหน้า Landing Page ของตัวอย่างเพลง ตอนนี้คุณกรองตาม API, สิทธิ์ และประเภทได้แล้ว ซึ่งจะช่วยให้ค้นหาตัวอย่างที่ต้องการได้ง่ายขึ้น การปรับปรุงนี้เกิดขึ้นจากความร่วมมือกับ Xuezhou Dai ซึ่งเป็นนักศึกษาฝึกงานในโครงการ Summer of Code อ่านประสบการณ์ของเขาได้ในบล็อกโพสต์นี้
- การใช้บัญชี Google Analytics กับ Chrome เว็บสโตร์อธิบายวิธีดู Google Analytics 4 สําหรับข้อมูลผลิตภัณฑ์ใน Chrome เว็บสโตร์ ซึ่งช่วยเสริมข้อมูลที่ได้รับจากแดชบอร์ดสําหรับนักพัฒนาแอป คู่มือนี้จะอธิบายขั้นตอนในการเลือกใช้ Google Analytics, ตรวจสอบประสิทธิภาพโฆษณา, ติดตาม Conversion และให้สิทธิ์บัญชีอื่นๆ เข้าถึงข้อมูล Google Analytics
- เราได้เผยแพร่คู่มือใหม่เกี่ยวกับวิธีการทำงานของคุกกี้และ Web Storage API ในส่วนขยาย Chrome ซึ่งประกอบด้วยข้อมูลทั้งหมดที่คุณต้องรู้เกี่ยวกับ Privacy Sandbox ในฐานะนักพัฒนาส่วนเสริม
- เราได้เปิดตัวบทความใหม่เกี่ยวกับวิธีผสานรวมการทดสอบในโปรเจ็กต์ส่วนขยาย ซึ่งได้แก่ การทดสอบหน่วยสำหรับส่วนขยาย Chrome และการทดสอบจากต้นทางถึงปลายทางสำหรับส่วนขยาย ซึ่งครอบคลุมคำแนะนำทั่วไปและแนวทางปฏิบัติแนะนำในเฟรมเวิร์กยอดนิยมหลายรายการ ดูบทแนะนำที่นำไปใช้ได้จริงได้ที่การทดสอบส่วนขยาย Chrome ด้วย Puppeteer
ข้อมูลอัปเดตเพิ่มเติม
- เราได้เขียนคําแนะนําเกี่ยวกับ Declarative Net Request API ใหม่เพื่อให้เห็นภาพวิธีใช้ชุดกฎแบบประกาศได้ชัดเจนขึ้น
- เราได้เพิ่มคำแนะนำเพิ่มเติมสำหรับการย้ายข้อมูลโค้ดที่โฮสต์จากระยะไกลไปยัง Manifest V3 นอกจากนี้ เรายังมีกลยุทธ์ในการเผยแพร่ส่วนขยาย Manifest V3 เป็นระยะๆ เพื่อลดความเสี่ยงที่จะพบปัญหาระหว่างการเผยแพร่
- ดูวิธีเชื่อมต่อกับ WebSocket ใน Service Worker ของส่วนขยาย
- เราได้ขยายคู่มือรับความช่วยเหลือให้ครอบคลุมวิธีการโดยละเอียดมากขึ้นเกี่ยวกับวิธีรายงานข้อบกพร่อง ติดตามปัญหาที่มีอยู่ ขอฟีเจอร์ใหม่ และอื่นๆ
พบกันเร็วๆ นี้...
- เอกสารอ้างอิงและบทแนะนำเกี่ยวกับ User Scripts API
- บทแนะนำและตัวอย่าง Firebase
- ข้อมูลอ้างอิง ReadingList API
การออกแบบใหม่ของ Chrome เว็บสโตร์ 🌈
เมื่อช่วงต้นเดือนที่ผ่านมา เราได้ประกาศตัวอย่างก่อนเปิดตัวของ Chrome เว็บสโตร์ที่ปรับปรุงใหม่ตามที่ได้บอกใบ้ไว้ในงาน Google I/O ไปดูด้วยตัวคุณเองได้เลยที่ https://chromewebstore.google.com/ การเปลี่ยนแปลงที่ควรทราบมีดังนี้
- เพิ่มรายการหมวดหมู่จาก 11 รายการเป็นรายการใหม่ที่มี17 รายการใน 3 กลุ่ม
- การปรับปรุงการเติมข้อความอัตโนมัติในการค้นหา
- ตอนนี้ภาพหน้าจอจะแสดงด้วยคุณภาพที่สูงขึ้นอย่างมาก คุณสามารถอัปโหลดภาพหน้าจอขนาด 1280x800 ได้หากยังไม่ได้ดำเนินการ
- ตอนนี้การตอบคำถามในแท็บการสนับสนุนจะแสดงบรรทัดใหม่
- เมื่อตอบรีวิวของผู้ใช้และคำถามเกี่ยวกับการสนับสนุน ตอนนี้คำตอบของคุณจะมีป้าย "นักพัฒนาแอป" ข้างชื่อ
- คุณสามารถให้ลิงก์ไปยังหน้ารีวิวแก่ผู้ใช้โดยตรงได้โดยเพิ่ม "/reviews" ต่อท้าย URL ของสินค้าใน Store เช่น
https://chromewebstore.google.com/detail/_EXTENSION_ID_/reviews
ขอขอบคุณทุกคนที่ให้ข้อมูลใน chromium-google group โปรดเข้าร่วมการสนทนาหรือส่งความคิดเห็นถึงทีม CWS โดยตรงโดยใช้รายการเมนูแสดงความคิดเห็น
นอกจากนี้ คุณยังส่งแบบฟอร์มเสนอชื่อตนเองเพื่อแสดงในคอลเล็กชันรายการแนะนำของบรรณาธิการได้ด้วย โปรดรอติดตามการปรับปรุงที่จะเกิดขึ้นในหน้าแดชบอร์ดสำหรับนักพัฒนาแอปเร็วๆ นี้
💡 ทราบหรือไม่
- เรามีวิดีโอใหม่เกี่ยวกับการแก้ไขข้อบกพร่องส่วนขยาย Chrome คู่มือนี้ครอบคลุมหัวข้อต่างๆ ที่คุณอาจคุ้นเคยอยู่แล้ว และยังแชร์เคล็ดลับเจ๋งๆ เกี่ยวกับการใช้เครื่องมือสำหรับนักพัฒนาเว็บในส่วนขยายด้วย
- ตอนนี้คุณจำเป็นต้องระบุนโยบายความเป็นส่วนตัวสำหรับส่วนขยายแต่ละรายการ ก่อนหน้านี้ คุณสามารถเพิ่มนโยบายความเป็นส่วนตัวได้เพียง 1 รายการต่อบัญชีนักพัฒนาแอป แต่อาจไม่สะดวกหากคุณมีส่วนขยายหลายรายการในบัญชีนักพัฒนาแอปเดียว อินเทอร์เฟซใหม่นี้จะอยู่ในแท็บความเป็นส่วนตัวของรายการในหน้าแดชบอร์ดสำหรับนักพัฒนาซอฟต์แวร์ ซึ่งหมายความว่าระบบจะไม่รองรับนโยบายความเป็นส่วนตัวระดับบัญชีอีกต่อไป
ติดต่อมา 🙌
เรายังคงติดต่อชุมชนนักพัฒนาส่วนขยายผ่านการประชุมแบบ 1:1, การเปิดตัวโปรแกรมใหม่ๆ และการเข้าร่วมการประชุมสุดยอด ไฮไลต์บางส่วนมีดังนี้
- โปรแกรม Google Developer Expert สำหรับส่วนขยายได้เปิดตัวไปเมื่อเดือนสิงหาคม เรามี GDE ใหม่กว่า 12 คนซึ่งมุ่งเน้นที่ส่วนขยาย Chrome จากทั่วโลกที่คอยให้ความคิดเห็นที่ยอดเยี่ยมกับเรา นี่เป็นช่วงเวลาที่น่าตื่นเต้นมากสำหรับโปรแกรม
- เราเข้าร่วม TPAC (การประชุมประจำปีของ W3C) ในฐานะส่วนหนึ่งของกลุ่มชุมชนส่วนขยายเว็บ และพบกับตัวแทนจาก Firefox และ Safari รวมถึงสมาชิกชุมชนหลายคน เรามีความคืบหน้าอย่างมากในหลายหัวข้อ ซึ่งรวมถึงการมุ่งสู่ Extension API ที่สอดคล้องกันมากขึ้น การทำงานเกี่ยวกับข้อกำหนด และการสร้างจาก Web Platform Tests เพื่อสร้างชุดทดสอบใหม่ อ่านรายงานการประชุมฉบับเต็มในที่เก็บ WECG
- เมื่อสัปดาห์ที่แล้ว ทีมส่วนขยายได้เข้าร่วมAd-Filtering Dev Summit ในอัมสเตอร์ดัม เราได้พูดคุยกับคุณหลายท่านในการแชทแบบสบายๆ ที่พวกเขาจัดขึ้นก่อนสัปดาห์การประชุมสุดยอดและช่วงเปิดสำนักงานในวันศุกร์
แม้ว่าคุณจะเข้าร่วมกิจกรรมเหล่านี้ไม่ได้ คุณก็มีส่วนร่วมได้ด้วยการถามคำถามใน Google Group chromium-extensions ติดตามการสนทนาของพาร์ทเนอร์เบราว์เซอร์ใน WECG และรายงานปัญหาเกี่ยวกับเอกสารประกอบ
ขอขอบคุณอีกครั้งที่ร่วมเป็นส่วนหนึ่งของชุมชนนักพัฒนาส่วนขยาย