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

โปรดเข้ามาที่หน้านี้บ่อยๆ เพื่อเรียนรู้เกี่ยวกับการเปลี่ยนแปลงของส่วนขยาย Chrome, เอกสารเกี่ยวกับส่วนขยาย หรือนโยบายที่เกี่ยวข้องหรือการเปลี่ยนแปลงอื่นๆ คุณจะเห็นประกาศอื่นๆ ที่โพสต์ในกลุ่มส่วนขยายของ Google กำหนดการของ Chrome จะแสดงวันที่เผยแพร่เวอร์ชันเสถียรและเวอร์ชันเบต้า

Chrome 126: ช่วงทดลองใช้จากต้นทางในส่วนขยาย

ประกาศเมื่อวันที่

Chrome 126 ขอแนะนำช่อง Manifest.json ใหม่ - trial_tokens ซึ่งช่วยให้คุณเลือกใช้ช่วงทดลองใช้จากต้นทางและช่วงทดลองใช้การเลิกใช้งานในทุกแพลตฟอร์มของส่วนขยายได้ อ่านข้อมูลเพิ่มเติมได้ในคู่มือ

บล็อกโพสต์: สิ่งที่เกิดขึ้นในส่วนขยาย Chrome - เมษายน 2024

ประกาศเมื่อวันที่

เราได้เผยแพร่มีอะไรเกิดขึ้นในส่วนขยาย Chrome ฉบับใหม่ โพสต์ดังกล่าวกล่าวถึงสิ่งที่ทีมส่วนขยายกำลังทำอยู่ในช่วง 2-3 เดือนที่ผ่านมา ซึ่งรวมถึงการย้อนกลับเวอร์ชันใน Chrome เว็บสโตร์ การรองรับการตรวจสอบสิทธิ์ Firebase ที่ดียิ่งขึ้น รวมถึงการเปิดตัวและการอัปเดต API เพิ่มเติม

การย้อนกลับเวอร์ชันในแดชบอร์ดสำหรับนักพัฒนาซอฟต์แวร์ Chrome เว็บสโตร์

ประกาศเมื่อวันที่

ย้อนกลับส่วนขยายเป็นเวอร์ชันก่อนหน้าที่เผยแพร่ใน Chrome เว็บสโตร์ โดยไม่มีการตรวจสอบเพิ่มเติม โปรดอ่านข้อมูลเพิ่มเติมที่บล็อกโพสต์และเอกสารประกอบ

Chrome 124: DocumentScan API ขั้นสูง

ประกาศเมื่อวันที่

ตอนนี้ documentScan API ขั้นสูงพร้อมให้ใช้งานใน ChromeOS แล้ว เพื่อให้คุณค้นหาและเรียกรูปภาพจากโปรแกรมสแกนเอกสารที่แนบมา

Chrome 124: การรองรับ WebGPU ใน Service Worker

ประกาศเมื่อวันที่

ตั้งแต่ Chrome 124 เป็นต้นไป โปรแกรมทำงานของบริการจะรองรับ WebGPU หากต้องการเริ่มต้นอย่างรวดเร็ว โปรดดูตัวอย่างส่วนขยาย WebGPU

Chrome 123: Event API รองรับการกรองโดยบล็อก CIDR

ประกาศเมื่อวันที่

ตอนนี้ Event API รองรับการกรองโดยบล็อก Classless Inter-Domain Routing (CIDR) แล้ว บล็อก CIDR คือคอลเล็กชันของที่อยู่ IP ที่ใช้คำนำหน้าเครือข่ายและจำนวนบิตเท่ากันร่วมกัน ก่อนหน้านี้ นักพัฒนาซอฟต์แวร์จำเป็นต้องกรองที่อยู่ IP หลายรายการซึ่งจำเป็นต่อการกำหนดค่ากฎตัวกรองสำหรับแต่ละที่อยู่ในช่วงการบล็อก ตอนนี้เมื่อส่วนขยายเรียกใช้ addListener() กฎ "ส่ง" จะทำให้มีการเรียกเครื่องจัดการเหตุการณ์ก็ต่อเมื่อส่วนโฮสต์ของ URL คือที่อยู่ IP และอยู่ในบล็อก CIDR ที่ระบุในอาร์เรย์

Chrome เว็บสโตร์: การอัปเดตข้อกำหนดความยาวของชื่อส่วนขยาย

ประกาศเมื่อวันที่

ใน Chrome เว็บสโตร์ ตอนนี้ช่อง "name" ของส่วนขยายใน manifest.json มีความยาวได้ 75 อักขระ ก่อนหน้านี้ ภาษาอังกฤษจำกัดไว้ที่ 45 อักขระ และไม่มีข้อจำกัดสำหรับช่อง "name" ในภาษาอื่นๆ

ซึ่งเดิมทีมีจุดประสงค์เพื่อทำให้เกิดความแตกต่างทางวัฒนธรรมและภาษา ซึ่งอาจทำให้ไม่สามารถบันทึกอักขระในจำนวนที่เท่ากันได้ น่าเสียดาย มีนักพัฒนาซอฟต์แวร์กลุ่มเล็กๆ ละเมิดฟีเจอร์นี้เพื่อสแปมสโตร์ เราจึงขอเสนอขีดจำกัดสากลใหม่โดยเพิ่มจำนวนอักขระให้อยู่ที่ 75 ตัว ขีดจำกัดนี้ครอบคลุมส่วนขยายเกือบทั้งหมดใน Store ในวันนี้ คุณจึงไม่จำเป็นต้องดำเนินการใดๆ เนื่องจากการเปลี่ยนแปลงนี้ หากคุณพยายามอัปโหลดส่วนขยายที่มีชื่อยาวกว่าขีดจำกัดสูงสุด Store จะบล็อกการอัปโหลดนั้น

บล็อกโพสต์: เส้นทางของอายโอสู่การทดสอบการระงับการทำงานของ Service Worker

ประกาศเมื่อวันที่

ในโพสต์นี้โดยทีม Extension Engine ของ eyeo เราได้สำรวจปัญหาของการทดสอบโปรแกรมทำงานของบริการส่วนขยาย ในไฟล์ Manifest V2 ส่วนขยายทำงานอยู่ในหน้าพื้นหลัง ซึ่งทำงานอยู่ตลอดวงจรส่วนขยาย Manifest V3 จะใช้ Service Worker แทน และโดยการออกแบบ โปรแกรมทำงานของบริการจะประหยัดทรัพยากรด้วยการปิดเมื่อไม่จำเป็น วิธีนี้ก่อให้เกิดความท้าทาย ในการทดสอบบางประการ โพสต์นี้อธิบายวิธีที่ Looker รับมือกับความท้าทายเหล่านี้

Chrome 123: ตอนนี้การปลุกจะทำงานเมื่ออุปกรณ์อยู่ในโหมดสลีป

ประกาศเมื่อวันที่

การปลุกที่ตั้งไว้โดยใช้ chrome.alarms API จะไม่ล่าช้าเมื่ออุปกรณ์เข้าสู่โหมดสลีปอีกต่อไป เมื่ออุปกรณ์ตื่นขึ้น นาฬิกาปลุกจะดังขึ้น 1 ครั้งไม่ว่าจะมีการปลุกกี่ครั้งก็ตาม ตัวอย่างเช่น สมมติว่าการตั้งปลุกตั้งให้ดัง 1 ชั่วโมงต่อชั่วโมงและอุปกรณ์ที่ปลุกอยู่ในโหมดสลีปตั้งแต่เวลา 00:55 น. ถึง 2:05 น. จากนั้นเฉพาะการปลุกตอน 2:00 น. เท่านั้นที่ทำให้เกิดเหตุการณ์ onAlarm โดยจะเริ่มทำงานตอนเกือบ 2:00 น. ให้มากที่สุด และทันทีที่อุปกรณ์ตื่น หากอยู่ในโหมดสลีป

การเปลี่ยนแปลงนี้ทำให้ Chrome สอดคล้องกับลักษณะการทำงานที่ตกลงกันไว้ในกลุ่มชุมชนส่วนขยายเว็บ

บล็อกโพสต์: การเปลี่ยนแปลงเกี่ยวกับลักษณะการทำงานของ bfcache ที่มีพอร์ตข้อความส่วนขยาย

ประกาศเมื่อวันที่

Back/Forward Cache (bfcache) คือการเพิ่มประสิทธิภาพเบราว์เซอร์ที่เปิดใช้การนำทางย้อนกลับและไปข้างหน้าแบบทันที ตั้งแต่ Chrome 123 เป็นต้นไป เมื่อมีการจัดเก็บหน้าที่มีพอร์ตส่วนขยายที่เปิดอยู่ใน bfcache ระบบจะปิดช่องทางข้อความ ซึ่งหมายความว่าจะไม่มีการส่งข้อความไปยังหน้านั้น ดังนั้น สคริปต์ส่วนขยายควรติดตามเหตุการณ์ในวงจร เช่น onDisconnect และตั้งค่าการเชื่อมต่อใหม่เมื่อกู้คืนหน้าเว็บจาก BFCache

ดูข้อมูลเพิ่มเติมและโค้ดตัวอย่างได้ที่การเปลี่ยนแปลงลักษณะการทำงานของ BFCache ที่มีพอร์ตข้อความของส่วนขยาย

Chrome 122: รับประกันการสนับสนุนเกี่ยวกับ API ของส่วนขยายแบบอะซิงโครนัส

ประกาศเมื่อวันที่

เราได้ใช้การรองรับ Promise สำหรับเมธอด API ส่วนขยายแบบไม่พร้อมกันทั้งหมดเรียบร้อยแล้ว กระบวนการนี้ทำเพื่อปรับปรุงเมธอด API ให้ทันสมัยโดยการปรับปรุงหลักสรีรศาสตร์ของการจัดการด้วยการดำเนินการอะซิงโครนัส มีเมธอดเพียงไม่กี่วิธี (เช่น desktopCapture.chooseDesktopMedia()) จะยังคงรองรับโค้ดเรียกกลับเท่านั้นเนื่องจากแพลตฟอร์มปัจจุบันไม่สามารถใช้ร่วมกับ Promises ได้ ระบบยังคงรองรับโค้ดเรียกกลับสำหรับความเข้ากันได้แบบย้อนหลัง หากคุณพบคำสัญญาที่ไม่สำเร็จ โปรดรายงานข้อบกพร่อง

คำแนะนำใหม่สำหรับการสื่อสารแบบเรียลไทม์

ประกาศเมื่อวันที่

เราเพิ่งเผยแพร่คำแนะนำเกี่ยวกับตัวเลือกแบบเรียลไทม์ในส่วนขยาย การอัปเดตแบบเรียลไทม์เป็นช่องทางการสื่อสารแบบทันใจจากเซิร์ฟเวอร์ไปยังการติดตั้งส่วนขยายโดยตรง นอกจากนี้ เรามีคำแนะนำใหม่ในการใช้ chrome.gcm และ Web Push

คำแนะนำและตัวอย่างใหม่: การสิ้นสุดการทดสอบสำหรับโปรแกรมทำงานของบริการ

ประกาศเมื่อวันที่

เราเพิ่งเผยแพร่คำแนะนำเกี่ยวกับวิธีทดสอบการสิ้นสุดการทำงานของ Service Worker ด้วย Puppeteer ตัวอย่างประกอบแสดงให้เห็นถึงสิ่งนี้ใน Puppeteer และ Selenium

อัปเดตตัวอย่างสำหรับการรับส่งข้อความแบบเนทีฟ

ประกาศเมื่อวันที่

เราเพิ่งเผยแพร่ตัวอย่างที่อัปเดต สำหรับการรับส่งข้อความแบบเนทีฟ API นี้ช่วยให้ส่วนขยายสามารถเริ่มต้นและสื่อสารกับแอปพลิเคชันอื่นได้ ขอขอบคุณ Shubham-Rasal ซึ่งเป็นผู้ร่วมให้ข้อมูลของ GitHub ที่เป็นผู้ดำเนินการเกี่ยวกับเรื่องนี้

Chrome 121: พร็อพเพอร์ตี้ที่เข้าถึงล่าสุดในแท็บต่างๆ

ประกาศเมื่อวันที่

เพิ่มพร็อพเพอร์ตี้ใหม่ชื่อ lastAccessed ไปยังออบเจ็กต์ tabs.Tab แล้ว พร็อพเพอร์ตี้นี้ระบุเวลาที่เปิดใช้งานแท็บครั้งล่าสุด ค่าที่ส่งกลับมีหน่วยเป็นมิลลิวินาทีตั้งแต่ Epoch

Chrome 121: ตอนนี้คีย์ "เบื้องหลัง" ที่ไม่รองรับออกคำเตือน

ประกาศเมื่อวันที่

เนื่องจากการเปลี่ยนจากไฟล์ Manifest V2 เป็นไฟล์ Manifest V3 มีการเปลี่ยนแปลงรายการย่อยของคีย์ไฟล์ Manifest "background" เพื่อให้รองรับการแทนที่สคริปต์พื้นหลังด้วยโปรแกรมทำงานของบริการส่วนขยาย ก่อนหน้านี้ การเพิ่มคีย์ Manifest V2 "scripts", "page" หรือ "persistent" ลงในคีย์ "background" ของส่วนขยาย Manifest V3 จะทำให้เกิดข้อผิดพลาด ตอนนี้การมีคีย์เหล่านี้จะเรียกให้แสดงคำเตือน

ทั้งนี้เพื่อให้สามารถใช้ไฟล์ Manifest ไฟล์เดียวในส่วนขยายในหลายๆ เบราว์เซอร์ตามข้อเสนอในกลุ่มชุมชน

Chrome 120: รายละเอียดการปลุกขั้นต่ำลดลงเหลือ 30 วินาที

ประกาศเมื่อวันที่

ตั้งแต่ Chrome 120 เป็นต้นไป ส่วนขยายไฟล์ Manifest V3 จะสามารถใช้ API ของ chrome.alarms ที่มีความล่าช้าหรือช่วงเวลา 30 วินาที แทนที่จะใช้ค่า 60 วินาทีขึ้นไป

บล็อกโพสต์: กลับมาใช้ไฟล์ Manifest V3 อีกครั้ง

ประกาศเมื่อวันที่

อัปเดตไทม์ไลน์การรองรับไฟล์ Manifest V2 แล้ว ดูรายละเอียดได้ที่บล็อกโพสต์เดือนพฤศจิกายน 2023

บล็อกโพสต์: การปรับปรุงการรองรับการกรองเนื้อหาในไฟล์ Manifest V3

โพสต์เมื่อวันที่

ดูข้อมูลเกี่ยวกับวิธีที่เราปรับปรุง declarativeNetRequest API ในบล็อกโพสต์ใหม่ของเรา

บล็อกโพสต์: มีอะไรใหม่ใน Chrome 120 สำหรับส่วนขยาย

ประกาศเมื่อวันที่

Chrome 120 เบต้าเปิดตัวเมื่อเร็วๆ นี้ หากต้องการดูสรุปการอัปเดตที่สำคัญซึ่งเกี่ยวข้องกับนักพัฒนาส่วนขยาย โปรดอ่านบล็อกโพสต์ใหม่ของเราที่ชื่อมีอะไรใหม่ใน Chrome 120 สำหรับส่วนขยาย นอกจากนี้ การเปิดตัวครั้งนี้ยังถือเป็นเป้าหมายที่สำคัญเพราะมีการนำ 2 รายการสุดท้าย (userScripts, ตัวแฮนเดิลไฟล์บน ChromeOS) ออกจากรายการช่องว่างที่สำคัญของแพลตฟอร์ม

PSA: การเปลี่ยนแปลงการจัดการ URL นโยบายความเป็นส่วนตัวในหน้าแดชบอร์ดสำหรับนักพัฒนาซอฟต์แวร์

ประกาศเมื่อวันที่

เพิ่มนโยบายความเป็นส่วนตัวในหน้าแดชบอร์ดสำหรับนักพัฒนาซอฟต์แวร์ไว้ที่ระดับรายการแล้ว ซึ่งจะช่วยให้คุณระบุนโยบายความเป็นส่วนตัวที่แตกต่างกันต่อแต่ละรายการได้ อ่านเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ใน PSA

วิดีโอ: แชทกับ Matt Frisbie

ประกาศเมื่อวันที่

เราเพิ่งเผยแพร่วิดีโอใหม่ในช่อง YouTube ของ Chrome for Developers เพื่อพูดคุยกับผู้เชี่ยวชาญนักพัฒนาซอฟต์แวร์ Google และผู้เขียน Matt Frisbie รับชมได้ ที่นี่

คำแนะนำใหม่เกี่ยวกับการทดสอบส่วนขยาย

ประกาศเมื่อวันที่

เราเพิ่งเผยแพร่คำแนะนำใหม่เกี่ยวกับวิธีเขียนการทดสอบอัตโนมัติสำหรับส่วนขยาย ซึ่งรวมถึงวิธีเขียนการทดสอบ 1 หน่วย และทั้งคำแนะนำทั่วไปและบทแนะนำเกี่ยวกับการทดสอบตั้งแต่ต้นจนจบ

บล็อกโพสต์: สิ่งที่เกิดขึ้นในส่วนขยาย Chrome - ตุลาคม 2023

ประกาศเมื่อวันที่

เราเพิ่งเผยแพร่มีอะไรเกิดขึ้นในส่วนขยาย Chrome ฉบับที่ 2 โพสต์ดังกล่าวกล่าวถึงสิ่งที่ทีมส่วนขยายได้ทำมาในช่วง 2-3 เดือนที่ผ่านมา ซึ่งรวมถึงการจัดการปัญหาความเสถียรของ Service Worker และความคืบหน้าในการปิดช่องว่างทั้งหมดของแพลตฟอร์ม MV3 รวมถึงแชร์การเปิดตัว API ที่น่าตื่นเต้นที่กำลังจะเปิดตัวด้วย เช่น Reading List API และ User Scripts API

เพิ่มขีดจำกัดชุดกฎคงที่ใน Declarative Net Request API

ประกาศเมื่อวันที่

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

ปรับปรุงคำแนะนำเกี่ยวกับโค้ดที่โฮสต์จากระยะไกล

ประกาศเมื่อวันที่

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

นอกจากนี้ยังมีส่วนการแก้ปัญหาการละเมิดใน Chrome เว็บสโตร์ด้วย ส่วนใหม่จะอธิบายเหตุผลทั่วไปที่ส่วนขยายที่มีโค้ดที่โฮสต์จากระยะไกลถูกปฏิเสธ

Chrome 118: isUrlFilterCaseSensitive ได้รับค่าเริ่มต้นเป็น "เท็จ" แล้ว

ประกาศเมื่อวันที่

ตั้งแต่ Chrome 118 เป็นต้นไป พร็อพเพอร์ตี้ isUrlFilterCaseSensitive ใน chrome.declarativeNetRequest API ได้เปลี่ยนจากเป็นค่าเริ่มต้นเป็น false หากต้องการรักษาลักษณะการทำงานเดิมไว้ คุณสามารถตั้งค่า isUrlFilterCaseSensitive เป็น true อย่างชัดแจ้งในกฎ declarativeNetRequest

การดำเนินการนี้เป็นไปตามการอภิปรายในกลุ่มชุมชนส่วนขยายเว็บ Firefox และ Safari ได้ใช้การเปลี่ยนแปลงที่คล้ายกันนี้แล้ว

เอกสารประกอบเกี่ยวกับคุกกี้และ API พื้นที่เก็บข้อมูลบนเว็บ

ประกาศเมื่อวันที่

เราได้เผยแพร่คำแนะนำใหม่เกี่ยวกับวิธีการทำงานของคุกกี้และ API พื้นที่เก็บข้อมูลบนเว็บในส่วนขยาย Chrome ซึ่งจะมีรายละเอียดเกี่ยวกับการเปลี่ยนแปลงของคุกกี้และการแบ่งพาร์ติชันพื้นที่เก็บข้อมูลใน Privacy Sandbox ซึ่งเป็นโปรเจ็กต์ที่กำลังดำเนินอยู่เพื่อเลิกใช้งานคุกกี้ของบุคคลที่สามผ่านการสร้างชุด API ของแพลตฟอร์มเว็บใหม่ และรายละเอียดเกี่ยวกับวิธีการทำงานของคุกกี้ในส่วนขยาย

ค้นหาตัวอย่างส่วนขยายได้แล้ว

ประกาศเมื่อวันที่

เมื่อเร็วๆ นี้เราได้สร้างหน้าเว็บที่ช่วยให้คุณสามารถค้นหาตัวอย่างส่วนขยาย Chrome หน้าค้นหามีหลายตัวเลือก ช่องค้นหาช่วยให้คุณค้นหาข้อความในชื่อตัวอย่างได้ คุณจำกัดการค้นหาตามสิทธิ์หรือ API ส่วนขยายได้ ตัวกรองเพิ่มเติมช่วยให้คุณจำกัดการค้นหาไว้เฉพาะตัวอย่าง API หรือตัวอย่างการทำงาน (กรณีการใช้งาน) ก็ได้

หน้าตัวอย่างใหม่นี้สร้างขึ้นโดย Xuezhou Dai ผู้เข้าร่วมโปรแกรม Google Summer of Code ที่ได้ร่วมส่งตัวอย่างเพลงใหม่ๆ ด้วย คุณอ่านประสบการณ์ของนักเรียนในฤดูร้อนที่ผ่านมาได้ในโพสต์บนบล็อกของเรา

เช่นเดียวกับก่อนหน้านี้ ตัวอย่างโค้ดของเราจะยังคงมีให้บริการใน GitHub สำหรับการโคลนหรือการแยก

Chrome 118: การเปลี่ยนแปลงการเปิดไฟล์: URL รูปแบบ

ประกาศเมื่อวันที่

ตั้งแต่ Chrome 118 เป็นต้นไป ส่วนขยายจะต้องเปิดใช้การตั้งค่า "อนุญาตให้เข้าถึง URL ของไฟล์" จากหน้า chrome://extensions เพื่อเปิด URL รูปแบบ file:// โดยใช้ Tabs หรือ Windows API คุณตรวจสอบการเข้าถึงนี้แบบเป็นโปรแกรมได้โดยโทรไปที่หมายเลข chrome.extension.isAllowedFileSchemeAccess() ซึ่ง Firefox ได้จำกัด URL ของไฟล์ไว้อยู่แล้ว และ Safari ก็รองรับการเปลี่ยนแปลงดังกล่าวด้วย โปรดอ่านข้อมูลเพิ่มเติมที่โพสต์ในส่วนขยายของ Google Group

Chrome 117: เพิ่มการปกป้อง URL ในการนำทาง API ส่วนขยาย

โพสต์เมื่อวันที่

ก่อนหน้านี้การไปยังส่วนต่างๆ ที่ทริกเกอร์จากการเรียก API ส่วนขยายสำหรับ tabs.update(), tabs.create() และ windows.create() ทำให้เกิดข้อผิดพลาดสำหรับ URL chrome:// บางรายการ นอกจากนี้ การเรียก tabs.update() ด้วย URL ของ JavaScript ยังไม่ได้รับอนุญาตอีกด้วย ในปี 117 เราได้เพิ่มการปกป้อง URL ของ JavaScript เหล่านี้ไปยังเมธอด tabs.create() และเพิ่ม URL chrome:// อีกจำนวนหนึ่งลงในรายการ URL ที่ไม่อนุญาตซึ่งใช้กับวิธีการที่กล่าวถึงก่อนหน้านี้ทั้งหมด

ปรับปรุงคำแนะนำสำหรับ declarativeNetRequest API

โพสต์เมื่อวันที่

chrome.declarativeNetRequest API จะบล็อกหรือแก้ไขคำขอเครือข่ายด้วยการระบุกฎการประกาศ วิธีนี้จะช่วยให้ส่วนขยายแก้ไขคำขอของเครือข่ายได้โดยไม่ต้องขัดขวางและดูเนื้อหา ซึ่งทำให้ผู้ใช้มีความเป็นส่วนตัวมากขึ้น แล้วก็ใช้งานยากด้วย ด้วยเหตุนี้ เราจึงเขียนหลักเกณฑ์ใหม่ในลักษณะที่เราคิดว่าช่วยให้เห็นภาพได้ชัดเจนขึ้นเกี่ยวกับวิธีใช้ชุดกฎเชิงประกาศ อ่านส่วนใหม่ที่ลิงก์ด้านบน

การใช้บัญชี Google Analytics กับ Chrome เว็บสโตร์

โพสต์เมื่อวันที่

Chrome เว็บสโตร์นำเสนอการผสานรวมกับ Google Analytics ซึ่งช่วยให้คุณสามารถดูข้อมูลวิเคราะห์ของข้อมูลผลิตภัณฑ์ใน Chrome เว็บสโตร์ได้เพิ่มเติมจากข้อมูลพร็อพเพอร์ตี้ที่นำเสนอในหน้าแดชบอร์ดสำหรับนักพัฒนาซอฟต์แวร์ สำหรับข้อมูลเพิ่มเติม โปรดอ่านการใช้บัญชี Google Analytics กับ Chrome เว็บสโตร์

Chrome 115: เครื่องมือสำหรับนักพัฒนาเว็บทำงานแทนสคริปต์เนื้อหาโดยค่าเริ่มต้น

ประกาศเมื่อวันที่

ตอนนี้สคริปต์เนื้อหาที่แทรกเข้าไปอยู่ในรายการละเว้นของเครื่องมือสำหรับนักพัฒนาเว็บโดยค่าเริ่มต้นแล้ว การเลือกนี้จะไม่ส่งผลต่อเบรกพอยท์ แต่หมายความว่าจะมีการข้ามสคริปต์เนื้อหาไประหว่างการแก้ไขข้อบกพร่องและข้อยกเว้นจากสคริปต์เหล่านี้จะถูกละเว้น เมื่อเปิดสคริปต์เนื้อหาในแท็บแหล่งที่มา แบนเนอร์จะแจ้งเตือนคุณหากการตั้งค่านี้เปิดอยู่และให้ตัวเลือกในการนําสคริปต์เนื้อหาออกจากรายการละเว้น หากต้องการปิดลักษณะการทำงานนี้ ให้เปิดเครื่องมือสำหรับนักพัฒนาเว็บ ไปที่การตั้งค่า จากนั้นไปที่รายการละเว้น ดูข้อมูลเพิ่มเติมได้ที่มีอะไรใหม่ในเครื่องมือสำหรับนักพัฒนาเว็บ

Chrome 116 เบต้า: มีอะไรมากกว่านั้น

ประกาศเมื่อวันที่

Chrome 116 เป็นส่วนขยายรุ่นใหม่ที่เปิดตัวครั้งใหญ่ ตอนนี้คุณเปิดแผงด้านข้างแบบเป็นโปรแกรมได้แล้ว วิธีใหม่ช่วยให้คุณดูได้ว่ามีเอกสารนอกหน้าจอที่ใช้งานอยู่หรือไม่ Service Worker ได้รับการปรับปรุงด้านเซิร์ฟเวอร์ เราได้พัฒนาบทความกว่า 116 อย่างเพียงพอตามที่เราได้เขียนบล็อกโพสต์เกี่ยวกับเรื่องนี้ Chrome 116 อยู่ในรุ่นเบต้า ณ วันที่ 19 กรกฎาคม

บล็อกโพสต์: สิ่งที่เกิดขึ้นในส่วนขยาย Chrome

ประกาศเมื่อวันที่

เราเพิ่งเผยแพร่ภาพรวมของการเปลี่ยนแปลงและการปรับปรุงส่วนขยายของปีนี้ โพสต์กล่าวถึงฟีเจอร์ใหม่ครั้งใหญ่ของปีนี้ ซึ่งรวมถึง Side Panel API, การปรับปรุง Service Worker และเอกสารนอกจอ คุณยังจะเห็นสิ่งที่เรากำลังทำในไตรมาสนี้อีกด้วย บทความนี้แสดงข้อมูลเพิ่มเติมพร้อมลิงก์ไปยังทุกข้อความ

คำแนะนำและตัวอย่างใหม่: ดูวิธีใช้ Google Analytics 4 ในส่วนขยาย Chrome

โพสต์เมื่อวันที่

เราได้เผยแพร่คำแนะนำและตัวอย่างตำแหน่งทางภูมิศาสตร์และ Google Analytics ใหม่ดังต่อไปนี้

Chrome 115: ระบุเหตุผลหลายประการใน chrome.offscreen.createDocument()

โพสต์เมื่อวันที่

คุณสามารถระบุ Enum ของ reason ได้หลายรายการเมื่อเรียกใช้ chrome.offscreen.createDocument() ใช้ตัวเลือกนี้เมื่อมีการใช้เอกสารนอกหน้าจอเพื่อวัตถุประสงค์ต่างๆ เบราว์เซอร์จะใช้เหตุผลที่ระบุในการพิจารณาอายุการใช้งานของเอกสารนอกหน้าจอ

เครื่องมือใหม่: เครื่องมือทดสอบการอัปเดตส่วนขยาย

โพสต์เมื่อวันที่

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

Chrome 114: API แผงด้านข้างใหม่

โพสต์เมื่อวันที่

ขอแนะนำ Side Panel API ใหม่ แพลตฟอร์มที่ใช้ร่วมกันที่ช่วยให้ผู้ใช้เข้าถึงเครื่องมือไปพร้อมๆ กับเนื้อหาที่กำลังเรียกดูได้ ดูข้อมูลเพิ่มเติมได้ที่เอกสารอ้างอิง API แผงด้านข้าง นอกจากนี้ เราได้เพิ่มตัวอย่างแผงด้านข้างจำนวนมากในที่เก็บตัวอย่างของ GitHub แล้ว นอกจากนี้ เรายังแชร์ข้อมูลเพิ่มเติมเกี่ยวกับแผงด้านข้างในบล็อกโพสต์ใหม่เรื่องการออกแบบประสบการณ์ของผู้ใช้ที่ดียิ่งขึ้นด้วย New Side Panel API ด้วย นอกจากนี้ เรายังอ่านนโยบายหลักเกณฑ์ด้านคุณภาพและแนวทางปฏิบัติแนะนำเพื่อให้คำแนะนำเพิ่มเติมในการสร้างส่วนขยายแผงด้านข้างคุณภาพสูง

ความคิดเห็นของคุณมีความสำคัญต่อการสร้าง API นี้ โปรดแชร์ความคิดเห็นและคำขอฟีเจอร์ใน chromium-groups โปรดติดตามข้อมูลอัปเดตใหม่ๆ ในขณะที่เราปรับปรุง Side Panel API อย่างต่อเนื่อง

ตัวอย่างใหม่: WASM ในส่วนขยาย

โพสต์เมื่อวันที่

มีตัวอย่างใหม่ 2 รายการที่สาธิตวิธีใช้ WASM ในส่วนขยาย ได้แก่

ขอขอบคุณเป็นพิเศษสำหรับตัวอย่างเหล่านี้จาก @daidr ซึ่งเป็นผู้ร่วมให้ข้อมูลของ GitHub

คำแนะนำการย้ายข้อมูลไฟล์ Manifest V3 ที่อัปเดต

โพสต์เมื่อวันที่

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

การบันทึกเสียงและวิดีโอด้วยไฟล์ Manifest V3

โพสต์เมื่อวันที่

เราเพิ่งเผยแพร่บทความใหม่ชื่อการบันทึกเสียงและการจับภาพหน้าจอ ซึ่งพูดถึงการบันทึกเสียงหรือวิดีโอจากแท็บ หน้าต่าง หรือหน้าจอในไฟล์ Manifest V3 บทความนี้อธิบายวิธีต่างๆ ในการบันทึกที่เกี่ยวข้องกับ chrome.tabCapture API และฟังก์ชัน getDisplayMedia()

Chrome 114: เพิ่มโควต้า Storage.local

โพสต์เมื่อวันที่

เราได้เพิ่มโควต้าสำหรับพร็อพเพอร์ตี้ storage.local เป็นประมาณ 10 MB ซึ่งมีความเห็นพ้องกันในกลุ่มชุมชนส่วนขยายเว็บ การดำเนินการนี้ทำให้ storage.local สอดคล้องกับ storage.session ซึ่งมีการเปลี่ยนแปลงใน Chrome 112

บทแนะนำและความช่วยเหลือสำหรับโปรแกรมทำงานของบริการส่วนขยายใหม่

โพสต์เมื่อวันที่

Service Worker เป็นส่วนสำคัญของส่วนขยาย Chrome เราเพิ่งเผยแพร่บทแนะนำที่อธิบายพื้นฐานของการลงทะเบียน การแก้ไขข้อบกพร่อง และการโต้ตอบกับ Service Worker นอกจากนี้เรายังเพิ่มคู่มือ Service Worker ใหม่ที่อธิบายแนวคิดสำคัญอย่างละเอียด เราจะขยายการให้บริการส่วนนี้ในอีกไม่กี่เดือนข้างหน้า

เคล็ดลับเพิ่มเติมในการแก้ปัญหาการละเมิดในเว็บสโตร์

ประกาศเมื่อวันที่

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

วิธีการใหม่สำหรับเครื่องมือแปลงไฟล์ Manifest ของส่วนขยาย

ประกาศเมื่อวันที่

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

Chrome 113: เหตุผลใหม่สำหรับเอกสารนอกจอ

ประกาศเมื่อวันที่

เราได้เพิ่มประเภทเหตุผลใหม่ 2 ประเภทลงใน Offscreen Documents API ใช้ LOCAL_STORAGE เพื่อเข้าถึง localStorage API ของแพลตฟอร์มเว็บ ใช้ WORKER เมื่อสร้าง Web Worker

Google Analytics 4 อยู่ในแดชบอร์ดสำหรับนักพัฒนาซอฟต์แวร์แล้ว

ประกาศเมื่อวันที่

หน้าแดชบอร์ดสำหรับนักพัฒนาซอฟต์แวร์ Chrome เว็บสโตร์รองรับ Google Analytics 4 (GA4) แล้ว เราได้ลดความซับซ้อนในการตั้งค่า Google Analytics และทำให้การจัดการการเข้าถึงสำหรับผู้เผยแพร่เป็นกลุ่มง่ายดายยิ่งขึ้น หากก่อนหน้านี้คุณใช้ Google Universal Analytics ติดตามกิจกรรมข้อมูลผลิตภัณฑ์ใน Store คุณจะต้องดำเนินการภายในวันที่ 1 กรกฎาคม 2023 เพื่อให้ได้รับข้อมูลเกี่ยวกับข้อมูลผลิตภัณฑ์ใน Store ต่อไป ดูข้อมูลเพิ่มเติมได้ที่โพสต์ใน Google Group เกี่ยวกับส่วนขยาย Chromium

File Handling API อยู่ใน ChromeOS แล้ว

ประกาศเมื่อวันที่

File Handler API พร้อมใช้งานสำหรับการทดสอบใน ChromeOS ใน Canary สำหรับเวอร์ชัน 112 และ 113 วิธีนี้จะช่วยให้ส่วนขยายใน ChromeOS เปิดไฟล์ที่มีประเภท MIME และนามสกุลไฟล์ที่ระบุ หากต้องการใช้การจัดการไฟล์ ให้เพิ่มชุดกฎใน manifest.json ฟีเจอร์นี้ทำงานเช่นเดียวกับ Progressive Web App ดูข้อมูลเพิ่มเติมได้ในบทความในส่วนอื่นๆ ของเว็บไซต์นี้

วิธีเปิดใช้การจัดการไฟล์มีดังนี้

  • นับตั้งแต่ปี 112 เป็นต้นไป ให้เปิด Chrome โดยใช้แฟล็ก --enable-features=ExtensionWebFileHandlers ซึ่งจะเริ่มในปี 112
  • เริ่มตั้งแต่ 113 ให้วาง os://flags/#extension-web-file-handlers ในแถบอเนกประสงค์ของ Chrome และเลือก "เปิดใช้" จากเมนูแบบเลื่อนลง

เราหวังว่าจะเปิดตัวฟีเจอร์นี้ใน Chrome 115 ในช่วงปลายเดือนมิถุนายน โปรดติดตามข้อมูลอัปเดตจากพื้นที่ทำงานนี้

ตัวอย่างใหม่: การประกาศแบบไดนามิกและการแทรกแบบเป็นโปรแกรม

ประกาศเมื่อวันที่

เราได้สร้างตัวอย่างใหม่สำหรับ chrome.scripting API โดยแสดงให้เห็นถึงการประกาศแบบไดนามิกที่มีการลงทะเบียนสคริปต์เนื้อหาขณะรันไทม์ และการแทรกแบบเป็นโปรแกรมที่มีการเรียกใช้สคริปต์ในแท็บที่เปิดอยู่แล้ว

ตัวอย่างใหม่: Use Case คำขอสุทธิประกาศ

ประกาศเมื่อวันที่

มีตัวอย่างใหม่ 3 ตัวอย่างที่สาธิตการใช้ Declarative Net Request API แต่ละแบบจะแสดงการใช้งานกรณีการใช้งานเพียง 1 กรณี ส่วนแรกจะแสดงวิธีบล็อกคุกกี้ โดยอีก 2 รายการที่เหลือสาธิตการบล็อกและการเปลี่ยนเส้นทาง URL

Chrome 112: เพิ่มโควต้า Storage.session

ประกาศเมื่อวันที่

โควต้าสำหรับพร็อพเพอร์ตี้ storage.session เพิ่มขึ้นเป็นประมาณ 10 MB จาก Chrome 112 ซึ่งได้รับการยอมรับในกลุ่มชุมชนส่วนขยายเว็บ: https://github.com/w3c/webextensions/issues/350

Chrome 109: เอกสารนอกหน้าจอ

ประกาศเมื่อวันที่

ตอนนี้เอกสารนอกหน้าจอมีให้ใช้งานในส่วนขยายไฟล์ Manifest V3 แล้ว ซึ่งช่วยในการเปลี่ยนจากหน้าเว็บเบื้องหลังไปเป็นโปรแกรมทำงานของบริการส่วนขยายโดยการสนับสนุนฟีเจอร์และ API ที่เกี่ยวข้องกับ DOM โปรดอ่านบล็อกโพสต์เพื่อดูข้อมูลเพิ่มเติม

Chrome 110: เปิดใช้ส่วนขยายไหม

ประกาศเมื่อวันที่

เมธอดของ chrome.action.isEnabled() จะตรวจสอบว่าได้เปิดใช้ส่วนขยายสำหรับแท็บที่เฉพาะเจาะจงโดยใช้โปรแกรมหรือไม่ วิธีนี้จะช่วยให้คุณคงสถานะการเปิดใช้แท็บไว้ วิธีการใหม่นี้จะใช้รหัสแท็บและการอ้างอิงไปยังโค้ดเรียกกลับและแสดงผลบูลีน โดยมีข้อจำกัดเพียงข้อเดียวคือ แท็บที่สร้างโดยใช้ chrome.declarativeContent จะแสดงค่าเท็จเสมอ

(เนมสเปซ chrome.action เพิ่งมีวิธีการใหม่สำหรับการควบคุมป้ายส่วนขยายที่ปรากฏ ดูข้อมูลเพิ่มเติมได้ที่การตั้งค่าสีป้าย)

Chrome 110: การเปลี่ยนแปลงระยะหมดเวลาเนื่องจากไม่มีการใช้งานของโปรแกรมทำงานของบริการ

ประกาศเมื่อวันที่

ก่อนหน้านี้ โปรแกรมทำงานของบริการส่วนขยายมักจะปิดตัวหลังจากครบ 5 นาที เราได้เปลี่ยนลักษณะการทำงานนี้ให้คล้ายกับอายุการใช้งานของ Service Worker บนเว็บมากขึ้น โปรแกรมทำงานของบริการส่วนขยายจะปิดลงหลังจากไม่มีการใช้งานเป็นเวลา 30 วินาที หรือในกรณีที่กิจกรรมหนึ่งใช้เวลานานกว่า 5 นาทีในการประมวลผล สําหรับข้อมูลเพิ่มเติม โปรดดูหัวข้ออายุการใช้งานของ Service Worker ที่นานขึ้น

โพสต์: การหยุดการยกเลิกไฟล์ Manifest V2 ชั่วคราว

ประกาศเมื่อวันที่

ลำดับเวลาการเลิกใช้งานไฟล์ Manifest V2 อยู่ระหว่างตรวจสอบ และจะเลื่อนการทดสอบที่มีกำหนดในช่วงต้นปี 2023 ออกไป สำหรับข้อมูลเพิ่มเติม โปรดอ่านการอัปเดตใน Google Group chromium-extensions

Chrome 110: การตั้งค่าสีป้าย

ประกาศเมื่อวันที่

เนมสเปซ chrome.action มีวิธีการใหม่ 2 วิธีที่จะช่วยให้คุณควบคุมป้ายส่วนขยายลักษณะที่ปรากฏได้มากขึ้น เมธอด setBadgeTextColor() และ getBadgeTextColor() ช่วยให้ส่วนขยายเปลี่ยนแปลงและค้นหาสีข้อความป้ายของไอคอนแถบเครื่องมือได้ เมื่อใช้ร่วมกับ setBadgeBackgroundColor และ getBadgeBackgroundColor วิธีการใหม่เหล่านี้จะช่วยให้คุณบังคับใช้การออกแบบและความสอดคล้องกันของแบรนด์ได้

บล็อกโพสต์: รายละเอียดเพิ่มเติมเกี่ยวกับการเปลี่ยนไปใช้ไฟล์ Manifest V3

ประกาศเมื่อวันที่

เราได้ชี้แจงลำดับเวลาการเลิกใช้งานไฟล์ Manifest V2 แล้ว นอกจากนี้ เรายังอัปเดตลำดับเวลาการสนับสนุนไฟล์ Manifest V2 เพื่อแสดงข้อมูลนี้ด้วย

การอัปเดตเอกสาร: ปัญหาที่ทราบเมื่อย้ายข้อมูลไปยังไฟล์ Manifest V3

ประกาศเมื่อวันที่

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

Chrome เว็บสโตร์: นำการอัปโหลดรูปภาพ "ไทล์โปรโมตขนาดใหญ่" ออกแล้ว

โพสต์เมื่อวันที่

Chrome เว็บสโตร์ได้นำ UI การอัปโหลด "ไทล์โปรโมชันขนาดใหญ่" ออกจากแท็บ "ข้อมูลผลิตภัณฑ์ใน Store" ในหน้าแดชบอร์ดสำหรับนักพัฒนาซอฟต์แวร์แล้ว การเปลี่ยนแปลงนี้จะไม่ส่งผลต่อประสบการณ์ของผู้ใช้ปลายทางเนื่องจากรูปภาพเหล่านี้ไม่ได้นำมาใช้ใน UI ของผู้บริโภค ดูรายละเอียดเพิ่มเติมได้ที่โพสต์ส่วนขยาย Chromium นี้

Chrome 106: อนุญาตให้หน้าเว็บใน file:// URL เข้าถึงแหล่งข้อมูลที่เข้าถึงได้บนเว็บ

โพสต์เมื่อวันที่

ต้นทางที่ไม่ชัดเจน เช่น iframe ที่ทำแซนด์บ็อกซ์และการนำเข้าแบบไดนามิกควรสามารถเข้าถึงทรัพยากรที่เข้าถึงได้บนเว็บด้วย ตามข้อมูลจาก crbug.com/1219825#c11

Chrome 106: แก้ไขข้อบกพร่องในการอนุญาตให้อาร์กิวเมนต์สุดท้ายที่ไม่ถูกต้องในฟังก์ชัน API แบบไม่พร้อมกันบางอย่าง

โพสต์เมื่อวันที่

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

บล็อกโพสต์: การปรับโฉมข้อมูลวิเคราะห์ของ Chrome เว็บสโตร์

ประกาศเมื่อวันที่

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

Chrome 105: สัญญาสำหรับ Identity API

ประกาศเมื่อวันที่

ฟังก์ชันใน Identity API รองรับการเรียกใช้ที่อิงตามคำสัญญาแล้ว ซึ่งมาพร้อมกับการเปลี่ยนแปลงเล็กน้อยสำหรับ identity.getAuthToken() โดยที่การตั้งค่าการแสดงผลแบบไม่พร้อมกันสำหรับการเรียกใช้ที่อิงตามสัญญาจะมี "โทเค็น" และ "grantedScopes" เป็นพารามิเตอร์ในออบเจ็กต์เดียว (ไม่ใช่เวอร์ชันโค้ดเรียกกลับที่ได้รับเป็นอาร์กิวเมนต์ที่แยกต่างหากของโค้ดเรียกกลับ)

Chrome 104: API ไอคอน Fav ใหม่สำหรับไฟล์ Manifest V3

โพสต์เมื่อวันที่

ตอนนี้ส่วนขยายไฟล์ Manifest V3 สามารถเข้าถึงไอคอน Fav โดยใช้รูปแบบ URL ใหม่คือ chrome-extension://<id>/_favicon/ โดยที่ คือรหัสของส่วนขยาย การดำเนินการนี้จะแทนที่ chrome://favicons API ของแพลตฟอร์มไฟล์ Manifest V2 โปรดดูข้อมูลเพิ่มเติมในเอกสาร Favicon API

ข้อมูลอัปเดตในเอกสาร: การเปิดเผยข้อมูลสำหรับผู้ค้า/ไม่ใช่ผู้ค้า

โพสต์เมื่อวันที่

เพิ่มข้อมูลระบุตัวตนที่เป็นผู้ค้า/ไม่ใช่ผู้ค้าซึ่งแจ้งให้นักพัฒนาซอฟต์แวร์ประกาศสถานะผู้ค้า/ไม่ใช่ผู้ค้าด้วยตนเองอย่างถูกต้อง

Chrome 103: Wasm ในไฟล์ Manifest V3 ต้องใช้ Wasm-unsafe-eval

โพสต์เมื่อวันที่

Chrome จะไม่ให้ส่วนขยาย script-src: wasm-unsafe-eval โดยค่าเริ่มต้นแล้ว ตอนนี้ส่วนขยายที่ใช้ WebAssembly ต้องเพิ่มคำสั่งและค่านี้อย่างชัดแจ้งไปยัง extension_pages ในการประกาศ content_security_policy

Chrome 103: การเปลี่ยนทางลัดของ MV3 จะมีผลทันที

ประกาศเมื่อวันที่

เมื่อเปลี่ยนแป้นพิมพ์ลัดของส่วนขยายไฟล์ Manifest V3 ใน chrome://extensions/shortcuts การอัปเดตจะมีผลทันที ซึ่งก่อนหน้านี้จะต้องโหลดส่วนขยายซ้ำ การเปลี่ยนแปลงจึงจะมีผล

Chrome 102: สคริปต์เนื้อหาแบบไดนามิกในโลกหลัก

ประกาศเมื่อวันที่

ตอนนี้สคริปต์เนื้อหาที่จดทะเบียนแบบไดนามิกสามารถระบุโลกที่จะแทรกเนื้อหาเข้าไปได้แล้ว ดูรายละเอียดได้ที่ scripting.registerContentScripts()

Chrome 102: ช่องไฟล์ Manifest ใหม่ "optional_host_permissions"

ประกาศเมื่อวันที่

ตอนนี้ส่วนขยายไฟล์ Manifest V3 ระบุคีย์ optional_host_permissions ใน Manifest.json ได้แล้ว วิธีนี้ช่วยให้ส่วนขยายไฟล์ Manifest V3 ประกาศรูปแบบการจับคู่ที่ไม่บังคับสำหรับโฮสต์ได้ เช่นเดียวกับส่วนขยายไฟล์ Manifest V2 ที่ใช้คีย์ optional_permissions ได้

Chrome 102: แทรกพร็อพเพอร์ตี้ใน Scripting.executeScript()

ประกาศเมื่อวันที่

ตอนนี้ chrome.scripting.executeScript() ยอมรับพร็อพเพอร์ตี้ injectImmediately ที่ไม่บังคับในอาร์กิวเมนต์ injection แล้ว หากมีและตั้งค่าเป็น "จริง" สคริปต์จะแทรกลงในเป้าหมายโดยเร็วที่สุด แทนที่จะรอ document_idle โปรดทราบว่าวิธีนี้ไม่ได้รับประกันว่าจะมีการแทรกสคริปต์ก่อนที่หน้าเว็บจะโหลดเนื่องจากหน้าเว็บยังคงโหลดขณะที่มีการเรียก API

Chrome 102: การรองรับ Omnibox API ในไฟล์ Manifest V3

ประกาศเมื่อวันที่

คุณใช้ Omnibox API ในส่วนขยายที่อิงตามโปรแกรมทำงานของบริการได้แล้ว ก่อนหน้านี้เมธอดของ API นี้บางเมธอดจะมีการเรียกใช้เนื่องจากทรัพยากร Dependency ภายในของความสามารถของ DOM

Chrome 102: อนุญาตให้ใช้ Wasm-unsafe-eval ในไฟล์ Manifest V3 CSP

ประกาศเมื่อวันที่

ตอนนี้ส่วนขยายไฟล์ Manifest V3 ใส่ wasm-unsafe-eval ในการประกาศ content_security_policy ได้แล้ว การเปลี่ยนแปลงนี้ช่วยให้ส่วนขยายไฟล์ Manifest V3 ใช้ WebAssembly ได้

Chrome 102: Storage.session API ใหม่

ประกาศเมื่อวันที่

ส่วนขยายไฟล์ Manifest V3 ใช้ในพื้นที่เก็บข้อมูลหน่วยความจำ storage.session ได้แล้ว

การอัปเดตเอกสาร: การค้นพบรายการใน Chrome เว็บสโตร์

ประกาศเมื่อวันที่

การค้นพบบน Chrome เว็บสโตร์จะแสดงภาพรวมเกี่ยวกับวิธีที่ผู้ใช้ค้นหารายการต่างๆ ใน Chrome เว็บสโตร์ และวิธีที่บรรณาธิการของเราเลือกรายการที่จะแสดง

Chrome 101: ปรับปรุงเงื่อนไขโดเมน declarativeNetRequest

ประกาศเมื่อวันที่

อัปเดตเงื่อนไขของกฎ declarativeNetRequest เพื่อให้ส่วนขยายกำหนดเป้าหมายคำขอได้ดียิ่งขึ้นโดยอิงตามโดเมน "คำขอ" และ "ผู้เริ่มต้น" ของคำขอ พร็อพเพอร์ตี้เงื่อนไขที่เกี่ยวข้อง ได้แก่ initiatorDomains, excludedInitiatorDomains, requestDomains และ excludedRequestDomains ดูชุดข้อความ Chromium-extensions นี้เพิ่มเติม

Chrome 100: แก้ปัญหาเกี่ยวกับ Scripting.executeScript() ในแท็บที่สร้างขึ้นใหม่

แก้ปัญหาที่เกิดขึ้นมานานแล้วที่การเรียกใช้ scripting.executeScript() ในแท็บหรือหน้าต่างที่สร้างขึ้นใหม่อาจล้มเหลว

Chrome 100: พอร์ตการรับส่งข้อความในเครื่องช่วยให้ Service Worker ทำงานได้อย่างปลอดภัย

ประกาศเมื่อวันที่

การเชื่อมต่อกับโฮสต์การรับส่งข้อความดั้งเดิมโดยใช้ chrome.runtime.connectNative() ใน Service Worker ของส่วนขยายควรทำให้ Service Worker ยังไม่ทำงานตราบใดที่พอร์ตเปิดอยู่

Chrome 100: omnibox.setDefaultrecommendion() รองรับคำสัญญาและการเรียกกลับ

ประกาศเมื่อวันที่

ตอนนี้เมธอด omnibox.setDefaultSuggestion() จะส่งคืนคำสัญญาหรือยอมรับการเรียกกลับเพื่อให้นักพัฒนาซอฟต์แวร์สามารถระบุได้ว่าคำแนะนำได้รับการตั้งค่าอย่างเหมาะสมเมื่อใด

Chrome 100: การสนับสนุน i18n.getMessage() ในโปรแกรมทำงานของบริการส่วนขยาย

ประกาศเมื่อวันที่

ตอนนี้ระบบรองรับ chrome.i18n.getMessage() API ในบริบทของผู้ปฏิบัติงานบริการส่วนขยายแล้ว

Chrome 99: match_origin_as_fallback ใน Canary

ประกาศเมื่อวันที่

ตอนนี้สคริปต์เนื้อหาสามารถระบุคีย์ match_origin_as_fallback เพื่อแทรกลงในเฟรมที่เกี่ยวข้องกับเฟรมที่ตรงกันได้แล้ว รวมถึงเฟรมที่มี URL about:, data:, blob: และ filesystem: ดูรายละเอียดได้ในเอกสารสคริปต์เนื้อหา

Chrome 99: การรองรับโปรแกรมทำงานของบริการส่วนขยายสำหรับไฟล์: รูปแบบใน Canary

ประกาศเมื่อวันที่

ตอนนี้ส่วนขยายไฟล์ Manifest V2 และไฟล์ Manifest V3 ที่อิงมาจาก Service Worker สามารถใช้ API การดึงข้อมูลเพื่อขอ URL รูปแบบ file: ได้ แต่ผู้ใช้จะยังต้องเปิดใช้ "อนุญาตให้เข้าถึง URL ของไฟล์" สำหรับส่วนขยายในหน้า chrome://extensions เพื่อเข้าถึง URL รูปแบบ file:

Chrome 99: รองรับ API การรับส่งข้อความใน Canary

ประกาศเมื่อวันที่

เพิ่มการรองรับ Promise ลงใน tabs.sendMessage, runtime.sendMessage และ runtime.sendNativeMessage สำหรับส่วนขยายที่สร้างขึ้นสำหรับไฟล์ Manifest V3 แล้ว

การอัปเดตเอกสาร: เอกสารการตรวจสอบ Chrome เว็บสโตร์

ประกาศเมื่อวันที่

เพิ่มหน้าข้อมูลอ้างอิงใหม่ที่แสดงภาพรวมของกระบวนการตรวจสอบ Chrome เว็บสโตร์และอธิบายวิธีการจัดการการบังคับใช้นโยบายโปรแกรมสำหรับนักพัฒนาซอฟต์แวร์

Chrome 98: Scripting.executeScript() และ Scripting.insertCSS() ยอมรับไฟล์หลายไฟล์

ประกาศเมื่อวันที่

ตอนนี้เมธอด executeScript() และ insertCSS() ของ Scripting API ยอมรับไฟล์หลายไฟล์แล้ว ก่อนหน้านี้เมธอดเหล่านี้ต้องใช้อาร์เรย์ที่มีรายการไฟล์เดียว

การอัปเดตเอกสาร: การอัปเดตการแก้ปัญหาการละเมิดรีวิว

ประกาศเมื่อวันที่

มีการอัปเดตหน้าการแก้ปัญหาการละเมิดใน Chrome เว็บสโตร์เพื่อให้คำแนะนำโดยละเอียดแก่นักพัฒนาซอฟต์แวร์เกี่ยวกับสาเหตุที่พบบ่อยของการปฏิเสธ

Chrome 96: ขยายการรองรับคำมั่นสัญญาไปยัง API อีก 27 รายการ

ประกาศเมื่อวันที่

รุ่นนี้มีการอัปเดตที่สัญญาไว้มากกว่ารุ่นก่อนหน้าอย่างมาก การอัปเดตมีทั้ง API ส่วนขยายทั่วไปและ API สำหรับ ChromeOS โดยเฉพาะ ขยายส่วนต่อไปนี้เพื่อดูรายละเอียด

API ส่วนขยาย

ตอนนี้มี API จำนวนหนึ่งที่รองรับสัญญาในไฟล์ Manifest V3 แล้ว

นอกจากนี้ API ที่ใช้ต้นแบบ ChromeSetting ก็รองรับ 7 ด้วยแล้ว API ต่อไปนี้จะได้รับผลกระทบจากการเปลี่ยนแปลงนี้

API ของ ChromeOS

Chrome 96: สคริปต์เนื้อหาแบบไดนามิก

ประกาศเมื่อวันที่

ตอนนี้ chrome.scripting API รองรับการลงทะเบียน การอัปเดต การยกเลิกการลงทะเบียน และการรับรายการของสคริปต์เนื้อหาในระหว่างรันไทม์แล้ว ก่อนหน้านี้ คุณจะประกาศสคริปต์เนื้อหาแบบคงที่ได้ในไฟล์ manifest.json ของส่วนขยายเท่านั้น หรือที่แทรกด้วยการเขียนโปรแกรมขณะรันไทม์ด้วย chrome.scripting.executeScript()

การอัปเดตเอกสาร: ไทม์ไลน์การรองรับไฟล์ Manifest V2

ประกาศเมื่อวันที่

เราได้ประกาศในบล็อกโพสต์นี้เกี่ยวกับไทม์ไลน์การเปลี่ยนจาก Manifest V2 เป็น V3 และเผยแพร่หน้าไทม์ไลน์ที่ละเอียดมากขึ้นแล้ว

Chrome 96: สิทธิ์ declarativeNetRequestWithHostAccess

ประกาศเมื่อวันที่

สิทธิ์ declarativeNetRequestWithHostAccess ใหม่อนุญาตให้ส่วนขยายใช้ API ของ chrome.declarativeNetRequest ในเว็บไซต์ที่ส่วนขยายดังกล่าวมีสิทธิ์โฮสต์ การดำเนินการนี้ยังทำให้ส่วนขยายไฟล์ Manifest V2 ที่มีอยู่ซึ่งใช้ webRequest, webRequestBlocking และสิทธิ์โฮสต์เฉพาะเว็บไซต์ย้ายข้อมูลไปยัง chrome.declarativeNetRequest API ได้โดยไม่ต้องให้ผู้ใช้อนุมัติสิทธิ์ใหม่

Chrome 95: แทรกสคริปต์ลงในหน้าเว็บโดยตรง

ประกาศเมื่อวันที่

เมธอด executeScript() ของ chrome.scripting API สามารถแทรกสคริปต์ลงในส่วนหลักของหน้าได้โดยตรง ก่อนหน้านี้ ส่วนขยายจะแทรกในโลกที่แยกไว้ของส่วนขยายได้โดยตรงเท่านั้น ดูข้อมูลเพิ่มเติมเกี่ยวกับโลกที่แยกกันได้ที่เอกสารเกี่ยวกับสคริปต์เนื้อหา

Chrome 95: รองรับ Storage API

โพสต์เมื่อวันที่

ตอนนี้เมธอดใน Manifest V3 ของ chrome.storage API จะส่งคืนคำสัญญาแล้ว

การปรับปรุงนโยบาย: การบังคับใช้การยืนยันแบบ 2 ขั้นตอน

โพสต์เมื่อวันที่

บล็อกโพสต์การปรับปรุงนโยบายที่เผยแพร่เมื่อวันที่ 29 มิถุนายน 2021 ได้รับการอัปเดตเพื่อแก้ไขไทม์ไลน์การติดตั้งใช้งานการยืนยันสองขั้นตอน

Chrome 94: การเปลี่ยนแปลงชุดกฎแบบคงที่ของคำขอสุทธิเชิงประกาศ

ประกาศเมื่อวันที่

ตอนนี้ chrome.declarativeNetRequest รองรับการระบุชุดกฎแบบคงที่สูงสุด 50 ชุด (MAX_NUMBER_OF_STATIC_RULESETS) และเปิดใช้ชุดกฎได้สูงสุด 10 ชุด (MAX_NUMBER_OF_ENABLED_STATIC_RULESETS) ต่อครั้ง

Chrome 93: รองรับการแยกแบบข้ามต้นทาง

ประกาศเมื่อวันที่

ตอนนี้ทั้งส่วนขยายไฟล์ Manifest V2 และไฟล์ Manifest V3 จะเลือกใช้การแยกระหว่างต้นทางได้ ฟีเจอร์นี้จํากัดทรัพยากรแบบข้ามต้นทางที่โหลดหน้าเว็บของส่วนขยายได้ และช่วยให้ใช้ฟีเจอร์แพลตฟอร์มเว็บในระดับต่ำ เช่น SharedArrayBuffer ได้ โดยต้องเลือกใช้ตั้งแต่ Chrome 95 เป็นต้นไป

การปรับปรุงนโยบาย: มีการอัปเดตนโยบายโปรแกรมสำหรับนักพัฒนาแอป

โพสต์เมื่อวันที่

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

บล็อกโพสต์: การดำเนินการของส่วนขยายในไฟล์ Manifest V3

โพสต์เมื่อวันที่

ส่วนขยาย Chrome มี API ของ chrome.browserAction และ chrome.pageActions มาหลายปีแล้ว แต่ Manifest V3 ได้แทนที่ทั้งคู่ด้วย API ทั่วไป chrome.actions โพสต์นี้จะอธิบายประวัติของ API เหล่านี้และการเปลี่ยนแปลงที่เกิดขึ้นในไฟล์ Manifest V3 อ่านโพสต์

บล็อกโพสต์: ขอแนะนำ chrome.scripting

โพสต์เมื่อวันที่

chrome.scripting API เป็นไฟล์ Manifest V3 API ใหม่ที่เน้นการใช้สคริปต์ ในโพสต์นี้ เราเจาะลึกถึงแรงจูงใจของการเปลี่ยนแปลงนี้และดูรายละเอียดเกี่ยวกับความสามารถใหม่ๆ ของมัน อ่านโพสต์

Chrome 92: รองรับโปรแกรมทำงานของบริการโมดูล

ประกาศเมื่อวันที่

ตอนนี้ Chrome รองรับโมดูล JavaScript ในโปรแกรมทำงานแล้ว หากต้องการระบุโมดูล โมดูลในไฟล์ Manifest ให้ทำดังนี้

"background": {
  "service_worker": "script.js",
  "type": "module"
}

การดำเนินการนี้จะโหลดสคริปต์ของผู้ปฏิบัติงานเป็นโมดูล ES ซึ่งจะช่วยให้สามารถใช้คีย์เวิร์ด import ในสคริปต์ของผู้ปฏิบัติงานเพื่อนำเข้าโมดูลอื่นๆ ได้

Chrome 91: chrome.action.getUserSettings()

ประกาศเมื่อวันที่

เมธอด chrome.action.getUserSettings() ใหม่จะช่วยให้ส่วนขยายระบุได้ว่าผู้ใช้ได้ปักหมุดส่วนขยายไว้ในแถบเครื่องมือหลักหรือไม่

Chrome 90: chrome.scripting.removeCSS()

ประกาศเมื่อวันที่

เมธอด chrome.scripting.removeCSS() ใหม่ช่วยให้ส่วนขยายนำ CSS ที่แทรกไว้ก่อนหน้านี้ผ่าน chrome.scripting.insertCSS() ออกได้ มาแทนที่ chrome.tabs.removeCSS()

Chrome 90: การส่งคืนคำมั่นสัญญาจาก Scripting.executeScript()

ประกาศเมื่อวันที่

ตอนนี้ chrome.scripting.executeScript() รองรับ สัญญาการส่งคืนแล้ว หากผลที่ได้จากการดำเนินการสคริปต์คือสิ่งที่สัญญาไว้ Chrome จะรอให้คำมั่นสัญญาจบลงก่อนแล้วจึงนำผลลัพธ์กลับมา

Chrome 90: ผลลัพธ์ chrome.scripting.executeScript() จะรวมFrameId

ประกาศเมื่อวันที่

ตอนนี้ผลลัพธ์จาก chrome.scripting.executeScript() มี frameId แล้ว พร็อพเพอร์ตี้ frameId จะระบุเฟรมที่เป็นผลลัพธ์ ทำให้ส่วนขยายเชื่อมโยงผลลัพธ์กับเฟรมแต่ละรายการได้โดยง่ายเมื่อแทรกในหลายเฟรม

Chrome 89: API ใหม่สำหรับการจัดการกลุ่มแท็บ

ประกาศเมื่อวันที่

chrome.tabGroups API ใหม่และความสามารถใหม่ใน chrome.tabs ช่วยให้ส่วนขยายอ่านและจัดการกลุ่มแท็บได้ ต้องใช้ไฟล์ Manifest V3

Chrome 89: สิทธิ์ที่ปรับแต่งได้สำหรับแหล่งข้อมูลที่เข้าถึงได้ในเว็บ

ประกาศเมื่อวันที่

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

บล็อกโพสต์: ตัวแปลงไฟล์ Manifest ของส่วนขยาย

ประกาศเมื่อวันที่

ทีมส่วนขยาย Chrome ใช้ "เครื่องมือแปลงไฟล์ Manifest ของส่วนขยาย" แบบโอเพนซอร์ส ซึ่งเป็นเครื่องมือ Python ที่ดำเนินการทางกลไกบางรายการของการแปลงส่วนขยายเป็น Manifest V3 โดยอัตโนมัติ ดูบล็อกโพสต์ประกาศและรับจาก GitHub

Chrome 88: ไฟล์ Manifest V3 เวอร์ชันสำหรับผู้ใช้ทั่วไป

ประกาศเมื่อวันที่

ไฟล์ Manifest V3 เป็นการอัปเดตสำคัญสำหรับแพลตฟอร์มส่วนขยาย ดูสรุปเกี่ยวกับฟีเจอร์ใหม่ๆ และฟีเจอร์ที่เปลี่ยนแปลงได้ในภาพรวมของไฟล์ Manifest V3 ส่วนขยายอาจยังใช้ไฟล์ Manifest V2 อยู่ต่อไป แต่จะทยอยเลิกใช้งานในอนาคตอันใกล้นี้ เราขอแนะนำให้ใช้ไฟล์ Manifest V3 สำหรับส่วนขยายใหม่ และเริ่มย้ายข้อมูลส่วนขยายที่มีอยู่ไปยังไฟล์ Manifest V3 โดยเร็วที่สุด