เมื่อเดือนกรกฎาคมที่ผ่านมา เราได้เปิดตัวชุดบล็อกใหม่เพื่อให้คุณได้รับข้อมูลล่าสุดเกี่ยวกับการพัฒนาส่วนขยาย จากความคิดเห็นอันมีค่าของคุณ และการทำงานร่วมกับผู้ให้บริการเบราว์เซอร์รายอื่นๆ ในกลุ่มชุมชน Web Extensions อย่างต่อเนื่อง เราจะปรับปรุง 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
ปัญหาด้านความเสถียรที่เกี่ยวข้องกับโปรแกรมทำงานของบริการได้รับการแก้ไขแล้ว ใน Chrome 116 เราได้เพิ่มส่วนการจัดการที่แข็งแกร่งให้กับ API ส่วนขยายที่แสดงข้อความแจ้งของผู้ใช้ และปรับปรุงการสนับสนุนสำหรับ WebSockets (ดูบทแนะนำการใช้ WebSockets ในส่วนขยาย) ตั้งแต่ Chrome 118 เป็นต้นไป โปรแกรมทำงานของบริการจะทำงานต่อไปในระหว่างเซสชัน Debugger API ที่มีการใช้งานอยู่
ดูรายละเอียดเพิ่มเติมได้ในคำแนะนำสำหรับ 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://
โดยใช้ API ของ chrome.tabs
และ chrome.windows
เว้นแต่จะมีการเปิดใช้ตัวเลือก "อนุญาตให้เข้าถึง URL ของไฟล์" ในหน้ารายละเอียดของส่วนขยาย ดูการสนทนาเกี่ยวกับ WECG
เปิดตัว API เพิ่มเติม
- Runtime API: ตั้งแต่ Chrome 116 เป็นต้นไป คุณจะใช้
runtime.getContexts()
เพื่อดึงข้อมูลเกี่ยวกับบริบทที่ใช้งานอยู่ได้ เช่น คุณตรวจสอบได้ว่ามีเอกสารที่ใช้งานอยู่นอกหน้าจอหรือไม่ - 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 ที่ระบุและนามสกุลไฟล์ได้ในลักษณะเดียวกันกับ File Handling ของแพลตฟอร์มเว็บ
- ส่วนขยายจะใช้ Push API ในเว็บผ่าน
self.registration.pushManager.subscribe()
ได้โดยไม่ต้องแสดงการแจ้งเตือนที่ผู้ใช้มองเห็นได้โดยตั้งค่าuserVisibleOnly
เป็นfalse
ซึ่งจะทำให้ข้อความ Push เป็นทางเลือกที่ราบรื่นยิ่งขึ้นแทน WebSockets in Service Worker (MV3) สำหรับการสื่อสารแบบไคลเอ็นต์-เซิร์ฟเวอร์แบบไม่พร้อมกัน ดูรายละเอียดได้ที่ข้อบกพร่อง Chromium และการสนทนาเกี่ยวกับ WECG
โปรดติดตามการประกาศในหน้ามีอะไรใหม่ในส่วนขยายทันทีที่ฟีเจอร์เหล่านี้พร้อมใช้งานใน Chrome เบต้า
การอัปเกรดเอกสาร
เรายังได้ปรับปรุงและเพิ่มเอกสารของเราลงในเอกสารประกอบด้วย โปรดถามคำถามใน chromium-group และรายงานปัญหาเอกสารประกอบต่อไป
ไฮไลต์
- เราได้ปรับปรุงหน้า Landing Page ตัวอย่าง ตอนนี้คุณกรองตาม API, สิทธิ์ และประเภทได้แล้ว ทำให้ค้นหาตัวอย่างที่เจาะจงได้ง่ายขึ้น การปรับปรุงนี้เป็นการทำงานร่วมกันกับ Xuezhou Dai นักศึกษาฝึกงาน Summer of Code ของเรา อ่านประสบการณ์ของเขาได้ในบล็อกโพสต์นี้
- การใช้บัญชี Google Analytics กับ Chrome เว็บสโตร์อธิบายวิธีดูข้อมูลผลิตภัณฑ์ใน Chrome เว็บสโตร์ด้วย Google Analytics 4 โดยเสริมข้อมูลที่คุณได้จากแดชบอร์ดสำหรับนักพัฒนาซอฟต์แวร์ คู่มือนี้อธิบายขั้นตอนในการเลือกใช้ Google Analytics ตรวจสอบประสิทธิภาพโฆษณา ติดตาม Conversion และให้สิทธิ์บัญชีอื่นในการเข้าถึงข้อมูล Google Analytics
- เราได้เผยแพร่คำแนะนำใหม่เกี่ยวกับวิธีการทำงานของคุกกี้และ API พื้นที่เก็บข้อมูลเว็บในส่วนขยาย Chrome ซึ่งรวบรวมทุกสิ่งที่คุณจำเป็นต้องทราบเกี่ยวกับ Privacy Sandbox ในฐานะนักพัฒนาส่วนขยาย
- เราได้เปิดตัวบทความใหม่เกี่ยวกับวิธีผสานรวมการทดสอบในโครงการส่วนขยาย ได้แก่ การทดสอบหน่วยส่วนขยาย Chrome และการทดสอบแบบเอนด์ทูเอนด์สำหรับส่วนขยายซึ่งครอบคลุมคำแนะนำทั่วไปและแนวทางปฏิบัติแนะนำในเฟรมเวิร์กที่ได้รับความนิยมจำนวนหนึ่ง สำหรับบทแนะนำที่นำไปปฏิบัติได้จริง โปรดดูการทดสอบส่วนขยาย Chrome ด้วย Puppeteer
ข้อมูลอัปเดตเพิ่มเติม
- เราเขียนคำแนะนำสำหรับ Conlarative Net Request API ในลักษณะที่ช่วยให้เห็นภาพที่ชัดเจนมากขึ้นเกี่ยวกับวิธีใช้ชุดกฎการประกาศ
- เราได้เพิ่มคําแนะนําเพิ่มเติมสำหรับการย้ายข้อมูลโค้ดที่โฮสต์จากระยะไกลไปยัง Manifest V3 นอกจากนี้ เรายังนำเสนอกลยุทธ์สำหรับการเผยแพร่ส่วนขยาย Manifest V3 แบบทีละขั้นเพื่อลดความเสี่ยงที่จะเกิดปัญหาระหว่างการเปิดตัว
- เรียนรู้วิธีเชื่อมต่อกับ WebSocket ใน Service Worker ของส่วนขยาย
- เราได้ขยายคู่มือความช่วยเหลือให้มีวิธีการโดยละเอียดเพิ่มเติมเกี่ยวกับวิธีรายงานข้อบกพร่อง ติดตามปัญหาที่มีอยู่ ขอฟีเจอร์ใหม่ และอื่นๆ
เร็วๆ นี้...
- ข้อมูลอ้างอิงและบทแนะนำสำหรับ API สคริปต์ของผู้ใช้
- บทแนะนำและตัวอย่าง Firebase
- ข้อมูลอ้างอิง API ของ ReadingList
การออกแบบ Chrome เว็บสโตร์ใหม่ ⚡
![ภาพหน้าจอหน้าแรกของ Chrome เว็บสโตร์](https://developer.chrome.com/static/blog/extension-news-october-2023/image/screenshot-the-chrome-we-4aa4284c1daed.png?authuser=5&hl=th)
เมื่อต้นเดือนที่ผ่านมา เราได้ประกาศเปิดตัว Chrome เว็บสโตร์เวอร์ชันปรับปรุงใหม่ตามที่ได้เกริ่นนำในงาน Google I/O ลองด้วยตัวคุณเองกับ https://chromewebstore.google.com/ การเปลี่ยนแปลงที่สำคัญบางอย่าง ได้แก่
- เพิ่มรายการหมวดหมู่จากรายการ 11 เป็นรายการใหม่ที่ประกอบด้วย 117 ใน 3 กลุ่มหมวดหมู่
- ปรับปรุงการเติมข้อความอัตโนมัติในการค้นหา
- ตอนนี้ภาพหน้าจอจะแสดงด้วยคุณภาพสูงขึ้นมาก คุณสามารถอัปโหลดภาพหน้าจอ 1280x800 หากยังไม่ได้อัปโหลด
- ตอนนี้การตอบคำถามในแท็บการสนับสนุนจะแสดงบรรทัดใหม่
- เมื่อตอบกลับรีวิวของผู้ใช้และคำถามด้านการสนับสนุน คำตอบของคุณจะมีป้าย "นักพัฒนาซอฟต์แวร์" อยู่ข้างชื่อ
- คุณระบุลิงก์โดยตรงไปยังหน้ารีวิวแก่ผู้ใช้ได้โดยการเพิ่ม "/reviews" ไว้ที่ส่วนท้ายของ URL ของสินค้าในร้านค้า เช่น
https://chromewebstore.google.com/detail/_EXTENSION_ID_/reviews
ขอขอบคุณสำหรับข้อมูลจากทุกคนในกลุ่ม Chromium-google คุณสามารถเข้าร่วมการสนทนาหรือส่งความคิดเห็นไปยังทีม CWS ได้โดยตรงโดยใช้รายการในเมนูแสดงความคิดเห็น ซึ่งมีรายละเอียดดังนี้
![แสดงความคิดเห็นในหน้า Chrome เว็บสโตร์](https://developer.chrome.com/static/blog/extension-news-october-2023/image/give-feedback-the-chrome-b02d47e756274.png?authuser=5&hl=th)
นอกจากนี้คุณยังสามารถส่งแบบฟอร์มการเสนอชื่อตนเองเพื่อแสดงในคอลเล็กชันเรื่องคัดสรรโดยบรรณาธิการได้อีกด้วย โปรดติดตามการปรับปรุงที่จะมีขึ้นในหน้าแดชบอร์ดสำหรับนักพัฒนาซอฟต์แวร์เร็วๆ นี้เช่นกัน
💡 รู้ไหม
- มีวิดีโอใหม่เกี่ยวกับการแก้ไขข้อบกพร่องของส่วนขยาย Chrome คู่มือนี้ครอบคลุมหลายหัวข้อที่คุณอาจคุ้นเคยอยู่แล้ว แต่ก็มีเคล็ดลับดีๆ บางส่วนในการใช้เครื่องมือสำหรับนักพัฒนาเว็บในส่วนขยายด้วย
- คุณจะต้องระบุนโยบายความเป็นส่วนตัวสำหรับส่วนขยายแต่ละรายการ ก่อนหน้านี้คุณจะเพิ่มนโยบายความเป็นส่วนตัวได้เพียง 1 รายการต่อบัญชีนักพัฒนาแอป 1 บัญชี แต่คงจะแปลกหากมีส่วนขยายอยู่ 2-3 รายการภายใต้บัญชีนักพัฒนาแอปบัญชีเดียว อินเทอร์เฟซใหม่นี้จะอยู่ในแท็บความเป็นส่วนตัวของรายการของคุณในแดชบอร์ดสำหรับนักพัฒนาซอฟต์แวร์ ซึ่งหมายความว่าเราไม่รองรับนโยบายความเป็นส่วนตัวระดับบัญชีอีกต่อไป
ภาพหน้าจอของช่องนโยบายความเป็นส่วนตัว
เราติดต่อมา 🙌
เรายังติดต่อชุมชนนักพัฒนาส่วนขยายอย่างต่อเนื่องผ่านการพูดคุยแบบตัวต่อตัว เปิดตัวโปรแกรมใหม่ และเข้าร่วมงานประชุม ต่อไปนี้เป็นไฮไลต์ที่สำคัญบางประการ:
- ส่วนขยายโปรแกรม Google Developer Experts เปิดตัวไปเมื่อเดือนสิงหาคม เรามี GDE ใหม่ๆ มากมายที่มุ่งเน้นส่วนขยาย Chrome จากทั่วโลกซึ่งให้ความคิดเห็นดีๆ กับเรา นี่เป็นช่วงเวลาที่น่าตื่นเต้นสำหรับโปรแกรมนี้
- เราได้เข้าร่วม TPAC (การประชุมประจำปีของ W3C) ซึ่งเป็นส่วนหนึ่งของกลุ่มชุมชน Web Extensions และพบปะกับตัวแทนจาก Firefox และ Safari พร้อมด้วยสมาชิกหลายคนในชุมชน เราทำงานคืบหน้าไปอย่างมากในหลายๆ หัวข้อ รวมถึงการย้ายไปยัง API ส่วนขยายที่สอดคล้องกันมากขึ้น การดำเนินการตามข้อกำหนด และการต่อยอดจากการทดสอบแพลตฟอร์มเว็บเพื่อสร้างชุดการทดสอบใหม่ อ่านรายงานฉบับเต็มได้ในที่เก็บ WECG
- เมื่อสัปดาห์ที่แล้ว ทีมส่วนขยายได้เข้าร่วม Ad-Filtering Dev Summit ในอัมสเตอร์ดัม พวกเขาได้พบกับพวกคุณหลายคนในการพูดคุยแบบจิบกาแฟที่จัดขึ้นก่อนสัปดาห์งานประชุมและในเวลาทำการในวันศุกร์
ทีมส่วนขยายในงาน Dev Summit การกรองโฆษณา
แม้จะไม่ได้เข้าร่วมกิจกรรมดังกล่าว คุณก็ยังมีส่วนร่วมต่อได้โดยถามคำถามในกลุ่ม Google chromium-extensions ติดตามการสนทนาเกี่ยวกับพาร์ทเนอร์เบราว์เซอร์ใน WECG และรายงานปัญหาเกี่ยวกับเอกสาร
ขอขอบคุณอีกครั้งที่ร่วมเป็นส่วนหนึ่งของชุมชนนักพัฒนาซอฟต์แวร์ส่วนขยาย