โปรดเข้ามาดูหน้านี้บ่อยๆ เพื่อดูข้อมูลเกี่ยวกับการเปลี่ยนแปลงส่วนขยาย Chrome, เอกสารประกอบเกี่ยวกับส่วนขยาย หรือนโยบายที่เกี่ยวข้อง หรือการเปลี่ยนแปลงอื่นๆ คุณจะเห็นประกาศอื่นๆ ที่โพสต์ไว้ใน Extensions Google Group กำหนดการของ Chrome จะแสดงรายการวันที่เสถียรและเวอร์ชันเบต้า
บล็อกโพสต์: การเปลี่ยนแปลงในส่วนขยาย Chrome เดือนตุลาคม 2024
ถึงเวลาสรุปข้อมูลเกี่ยวกับส่วนขยาย Chrome อีกรอบแล้ว เรามีข้อมูลอัปเดตที่น่าตื่นเต้นเกี่ยวกับการผสานรวม AI, API ใหม่, กิจกรรม และวิดีโอ อ่านข้อมูลทั้งหมดได้ในสิ่งที่เกิดขึ้นในส่วนขยาย Chrome ฉบับเดือนตุลาคม
เข้าร่วมภารกิจ AI ในตัว
Chrome ได้เปิดตัว Built-in AI Challenge: เราขอเชิญคุณสร้างเว็บแอปพลิเคชันและส่วนขยาย Chrome ที่สร้างสรรค์โดยใช้โมเดลและ API AI ที่ผสานรวมของ Chrome และมีโอกาสลุ้นรับรางวัลมูลค่ารวม $65,000 USD
ลงชื่อสมัครใช้และดูข้อมูลเพิ่มเติมในเว็บไซต์ Built-in AI Challenge เราจะตั้งตารอดูผลงานของคุณที่จะผสานอินเทอร์เน็ตเข้ากับ AI
Chrome 130: action.onUserSettingsChanged
เหตุการณ์ action.onUserSettingsChanged จะพร้อมใช้งานใน Chrome เวอร์ชัน 130 เป็นต้นไป ซึ่งเป็นไปตามข้อเสนอในกลุ่มชุมชน WebExtensions ขอขอบคุณ Microsoft สำหรับการมีส่วนร่วมใน Chromium
Chrome 130: StorageArea.getKeys()
ตั้งแต่ Chrome 130 เป็นต้นไป วิธีการ getKeys() จะพร้อมใช้งานในอินเทอร์เฟซ StorageArea ที่ chrome.storage
API ใช้ การดําเนินการนี้เป็นไปตามข้อเสนอในกลุ่มชุมชน Webชิ้นงาน
Chrome 128: การจับคู่ส่วนหัวของคำตอบในคำขอเครือข่ายแบบประกาศ
ตั้งแต่ Chrome 128 เป็นต้นไป เราจะเพิ่มการรองรับการจับคู่ส่วนหัวคำตอบใน Declarative Net Request API นี่เป็นคําขอที่พบบ่อย โดยเฉพาะสำหรับการจับคู่ส่วนหัว Content-Type และเราได้ออกแบบ API ที่เหมาะสมร่วมกับกลุ่มชุมชน WebExtensions
เราได้อัปเดตข้อมูลอ้างอิง API ให้รวมช่อง responseHeaders
และ excludedResponseHeaders
ใหม่ คุณสามารถใช้ข้อมูลเหล่านี้เพื่อตรวจหาการมีอยู่และค่าของส่วนหัวที่ระบุ
ในการอัปเดตครั้งนี้ เราได้เพิ่มส่วนการประเมินกฎใหม่ลงในเอกสารประกอบ ซึ่งอธิบายวิธีจับคู่กฎ โดยเฉพาะอย่างยิ่งสำหรับการจับคู่ส่วนหัว กฎจะทำงานได้ก็ต่อเมื่อได้รับส่วนหัวการตอบกลับแล้ว ระบบจึงจะนำกฎเหล่านั้นไปใช้ในภายหลังเมื่อเทียบกับกฎอื่นๆ ซึ่งหมายความว่าคําขอไปถึงเซิร์ฟเวอร์ก่อนที่จะถูกบล็อกหรือเปลี่ยนเส้นทาง
วิดีโอ: สคริปต์เนื้อหาคืออะไร
ดูข้อมูลเกี่ยวกับสคริปต์เนื้อหาในส่วนขยาย Chrome รวมถึงวิธีลงทะเบียน CSS และ JavaScript ให้ทำงานในหน้าเว็บหนึ่งๆ ดูวิดีโอแบบเต็ม
การปรับปรุงนโยบายที่สำคัญ
ทีม Chrome เว็บสโตร์ได้เผยแพร่การอัปเดตชุดหนึ่งในหน้านโยบายโปรแกรมสําหรับนักพัฒนาแอปที่ออกแบบมาเพื่อส่งเสริมการพัฒนาผลิตภัณฑ์คุณภาพสูง ป้องกันพฤติกรรมหลอกลวง และสร้างความมั่นใจว่าผู้ใช้จะให้ความยินยอมอย่างมีข้อมูล Rebecca Soares ผู้จัดการนโยบายของ Chrome เว็บสโตร์ได้สรุปข้อมูลอัปเดตทั้งหมดไว้ในบล็อกโพสต์ "ส่วนขยาย Chrome: ข้อมูลอัปเดตที่สำคัญเกี่ยวกับนโยบาย"
บล็อกโพสต์: การเปลี่ยนแปลงในส่วนขยาย Chrome เดือนกรกฎาคม 2024
ในช่วง 3 เดือนที่ผ่านมา เราได้เปิดตัวการอัปเดตและฟีเจอร์ใหม่ๆ ที่สำคัญหลายรายการ รวมถึงการเริ่มเลิกใช้งาน Manifest V2 อัปเดตข่าวสารในมีอะไรใหม่ในส่วนขยาย Chrome ฉบับเดือนกรกฎาคม
วิดีโอ: โค้ดที่โฮสต์จากระยะไกลคืออะไร
Patrick จากทีม Chrome Extensions อธิบายถึงแนวคิดของโค้ดที่โฮสต์จากระยะไกล (RHC) ในส่วนขยาย Chrome ดูสาเหตุที่ระบบไม่อนุญาตให้ใช้ RHC อีกต่อไป วิธีตรวจหา และสิ่งที่ต้องทำหากต้องอัปเดตส่วนขยาย ดูวิดีโอแบบเต็ม
Chrome 127: action.openPopup API ใหม่
ตั้งแต่ Chrome 127 เป็นต้นไป action.openPopup
API จะพร้อมใช้งานสำหรับส่วนขยายทั้งหมด ซึ่งก่อนหน้านี้มีให้บริการเฉพาะใน Canary หรือส่วนขยายที่ติดตั้งโดยนโยบาย
วิดีโอ: สัมภาษณ์ทีมความน่าเชื่อถือและความปลอดภัย
ทีม DevRel ของส่วนขยาย Chrome ได้พูดคุยกับทีมความน่าเชื่อถือและความปลอดภัยซึ่งเป็นผู้นำการตรวจสอบใน Chrome เว็บสโตร์เพื่อตอบคําถามของคุณ ดูวิดีโอแบบเต็ม
บล็อกโพสต์: เริ่มต้นการเลิกใช้งาน Manifest V2
ตั้งแต่วันที่ 3 มิถุนายนเป็นต้นไปในช่องทาง Chrome Beta, Dev และ Canary หากผู้ใช้ยังคงติดตั้งส่วนขยาย Manifest V2 อยู่ ผู้ใช้บางรายจะเริ่มเห็นแบนเนอร์คำเตือนเมื่อไปที่หน้าการจัดการส่วนขยาย - chrome://extensions - ซึ่งแจ้งให้ทราบว่าระบบจะไม่รองรับส่วนขยาย (Manifest V2) บางรายการที่ผู้ใช้ติดตั้งไว้อีกต่อไปในเร็วๆ นี้ อ่านข้อมูลเพิ่มเติมในประกาศอย่างเป็นทางการ
การอัปเดต UI ของแผงด้านข้าง
เมื่อเร็วๆ นี้เราได้ทําการเปลี่ยนแปลงบางอย่างกับ UI ของแผงด้านข้าง ซึ่งรวมถึงการเพิ่มไอคอนปักหมุดและนําไอคอนแผงด้านข้างส่วนกลางออก อ่านเพิ่มเติมใน PSA และดูเอกสารประกอบและตัวอย่างที่อัปเดตแล้ว
บล็อกโพสต์: ส่วนขยาย Chrome ที่ Google I/O 2024
Google I/O ผ่านไปแล้ว และเราก็ได้สรุปข้อมูลอัปเดตที่น่าตื่นเต้นทั้งหมดเกี่ยวกับส่วนขยายแล้ว ไปที่ YouTube เพื่อดูวิดีโอแบบเต็มและอ่านบล็อกโพสต์ของเราเพื่อดูไฮไลต์บางส่วน
ข้ามการตรวจสอบสำหรับการเปลี่ยนแปลงคำขอเครือข่ายแบบประกาศที่มีสิทธิ์
ตอนนี้ Chrome เว็บสโตร์ให้คุณข้ามการตรวจสอบสำหรับการเปลี่ยนแปลงที่มีสิทธิ์เมื่อใช้ Declarative Net Request API ดูข้อมูลเพิ่มเติมเกี่ยวกับการมีสิทธิ์และวิธีเลือกใช้ในเอกสารประกอบของ Chrome เว็บสโตร์
DeploymentPercentage ที่มีอยู่ใน Chrome เว็บสโตร์ API
เมื่อเร็วๆ นี้ เราได้อัปเดตเอกสารประกอบของ Chrome Web Store API เพื่อรวมข้อมูลเกี่ยวกับ deployPercentage
ซึ่งให้คุณกําหนดเปอร์เซ็นต์ของการติดตั้งใช้งานแบบเปิดตัวบางส่วนได้ ดูข้อมูลเกี่ยวกับ deployPercentage
Chrome 126: ช่วงทดลองใช้จากต้นทางในส่วนขยาย
Chrome 126 เปิดตัวช่อง manifest.json ใหม่ trial_tokens
ซึ่งให้คุณเลือกใช้ช่วงทดลองใช้จากต้นทางและช่วงทดลองเลิกใช้งานในแพลตฟอร์มส่วนขยายทั้งหมดได้ อ่านข้อมูลเพิ่มเติมในคู่มือ
บล็อกโพสต์: มีอะไรเกิดขึ้นบ้างในส่วนขยาย Chrome - เมษายน 2024
เราได้เผยแพร่สิ่งที่เกิดขึ้นในส่วนขยาย Chrome ฉบับใหม่ โพสต์นี้จะกล่าวถึงสิ่งที่ทีมส่วนขยายได้ดำเนินการในช่วงหลายเดือนที่ผ่านมา ซึ่งรวมถึงการย้อนกลับเวอร์ชันใน 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
ตอนนี้ Events API รองรับการกรองตามบล็อก Classless Inter-Domain Routing (CIDR) แล้ว บล็อก CIDR คือชุดที่อยู่ IP ที่ใช้คำนำหน้าเครือข่ายและจำนวนบิตเดียวกัน ก่อนหน้านี้ นักพัฒนาแอปที่ต้องการกรองที่อยู่ IP หลายรายการต้องกำหนดค่ากฎตัวกรองสำหรับที่อยู่แต่ละรายการในช่วงบล็อก ตอนนี้เมื่อส่วนขยายเรียกใช้
addListener()
กฎที่ส่งผ่านหมายความว่าตัวจัดการเหตุการณ์จะเรียกใช้ก็ต่อเมื่อส่วนโฮสต์ของ URL เป็นที่อยู่ IP และอยู่ในบล็อก CIDR ที่ระบุไว้ในอาร์เรย์
Chrome เว็บสโตร์: อัปเดตข้อกำหนดด้านความยาวชื่อส่วนขยาย
ใน Chrome เว็บสโตร์ ตอนนี้ช่อง "name"
ของส่วนขยายในไฟล์ manifest.json จะมีอักขระได้ไม่เกิน 75 ตัว ก่อนหน้านี้ ภาษาอังกฤษมีจำนวนอักขระได้สูงสุด 45 ตัว และไม่มีข้อจำกัดสำหรับช่อง "name"
ในภาษาอื่นๆ
เดิมทีมีไว้เพื่อรองรับความแตกต่างทางวัฒนธรรมและภาษาที่อาจไม่สามารถแสดงด้วยอักขระจำนวนเท่ากันได้ แต่นักพัฒนาแอปจำนวนไม่น้อยได้ละเมิดฟีเจอร์นี้เพื่อสแปมร้านค้า ด้วยเหตุนี้ เราจึงขอแนะนำขีดจำกัดใหม่แบบสากลซึ่งเพิ่มขึ้นเป็น 75 อักขระ ขีดจำกัดนี้ครอบคลุมส่วนขยายเกือบทั้งหมดใน Store ในปัจจุบัน ดังนั้นคุณจึงไม่จำเป็นต้องดำเนินการใดๆ เนื่องจากการเปลี่ยนแปลงนี้ หากคุณพยายามอัปโหลดส่วนขยายที่มีชื่อยาวกว่าขีดจำกัดสูงสุด การอัปโหลดจะถูกบล็อกโดย Store
บล็อกโพสต์: เส้นทางของ eyeo ในการทดสอบการระงับ Service Worker
ในโพสต์นี้จากทีม Extension Engine ของ eyeo เราจะพูดถึงปัญหาการทดสอบโปรแกรมรันไทม์ของบริการส่วนขยาย ใน Manifest V2 ส่วนขยายจะอยู่ในหน้าพื้นหลัง ซึ่งจะทำงานตลอดอายุการใช้งานของส่วนขยาย ไฟล์ Manifest V3 ใช้ Service Worker แทน และ Service Worker ออกแบบมาเพื่อประหยัดทรัพยากรโดยการปิดเมื่อไม่จำเป็น ซึ่งแสดงถึงความท้าทาย บางประการในการทดสอบ โพสต์นี้อธิบายวิธีที่ eyeo จัดการกับปัญหาเหล่านี้
Chrome 123: ตอนนี้การปลุกจะทำงานเมื่ออุปกรณ์อยู่ในโหมดสลีป
การปลุกที่ตั้งค่าโดยใช้ chrome.alarms
API จะไม่ล่าช้าอีกต่อไปเมื่ออุปกรณ์เข้าสู่โหมดสลีป เมื่ออุปกรณ์ตื่นขึ้น การปลุกจะทำงานเพียงครั้งเดียว ไม่ว่าคุณจะพลาดการปลุกไปกี่ครั้งก็ตาม ตัวอย่างเช่น สมมติว่าตั้งปลุกให้ดังขึ้นทุกชั่วโมงและอุปกรณ์ที่เปิดอยู่อยู่ในโหมดสลีปตั้งแต่เวลา 00:55 น. ถึง 02:05 น. เฉพาะการปลุกตอน 02:00 น. เท่านั้นที่จะทริกเกอร์เหตุการณ์ onAlarm
โดยจะทํางานใกล้กับเวลา 02:00 น. มากที่สุด และทันทีที่อุปกรณ์ตื่นขึ้นหากอยู่ในโหมดสลีป
การเปลี่ยนแปลงนี้ทำให้ Chrome สอดคล้องกับลักษณะการทำงานที่ตกลงไว้ในกลุ่มชุมชนส่วนขยายเว็บ
บล็อกโพสต์: การเปลี่ยนแปลงลักษณะการทํางานของ bfcache ที่มีพอร์ตข้อความส่วนขยาย
Back-Forward Cache (bfcache) คือการเพิ่มประสิทธิภาพเบราว์เซอร์ที่ช่วยให้ไปยังส่วนต่างๆ แบบย้อนกลับและไปข้างหน้าได้ทันที ตั้งแต่ Chrome 123 เป็นต้นไป เมื่อระบบจัดเก็บหน้าที่มีพอร์ตส่วนขยายที่เปิดอยู่ใน bfcache ช่องข้อความจะปิดอยู่ ซึ่งหมายความว่าระบบจะไม่ส่งข้อความไปยังหน้านั้น
ดังนั้น สคริปต์ส่วนขยายจึงควรรอเหตุการณ์ในวงจร เช่น
onDisconnect
และสร้างการเชื่อมต่อใหม่เมื่อมีการกู้คืนหน้าเว็บจาก BFCache
ดูข้อมูลเพิ่มเติมและโค้ดตัวอย่างได้ที่การเปลี่ยนแปลงลักษณะการทำงานของ BFCache กับพอร์ตข้อความส่วนขยาย
Chrome 122: การรองรับ Promise ใน API ของส่วนขยายแบบไม่พร้อมกัน
เราติดตั้งใช้งานการสนับสนุน Promise สำหรับเมธอด API ส่วนขยายแบบไม่พร้อมกันทั้งหมดเรียบร้อยแล้ว การดำเนินการนี้ทำขึ้นเพื่อปรับปรุงเมธอด API ให้ทันสมัยขึ้นด้วยการเพิ่มประสิทธิภาพการทํางานแบบไม่สอดคล้องกัน เมธอดบางรายการ (เช่น desktopCapture.chooseDesktopMedia()
) จะยังคงรองรับเฉพาะการเรียกกลับเนื่องจากแพลตฟอร์มปัจจุบันไม่เข้ากันได้กับ Promise ระบบยังคงรองรับการเรียกกลับเพื่อความเข้ากันได้แบบย้อนหลัง หากพบ Promise ที่ไม่สำเร็จ โปรดรายงานข้อบกพร่อง
คำแนะนำใหม่สำหรับการสื่อสารแบบเรียลไทม์
เราเพิ่งเผยแพร่คู่มือเกี่ยวกับตัวเลือกแบบเรียลไทม์ในส่วนขยาย การอัปเดตแบบเรียลไทม์เป็นเส้นทางการสื่อสารที่รวดเร็วจากเซิร์ฟเวอร์ไปยังการติดตั้งส่วนขยายโดยตรง นอกจากนี้ เรายังมีคําแนะนําใหม่ในการใช้ chrome.gcm, Web Push
คำแนะนำและตัวอย่างใหม่: การทดสอบการสิ้นสุดการทำงานของ Service Worker
เราเพิ่งเผยแพร่คำแนะนำเกี่ยวกับวิธีทดสอบการสิ้นสุดของ Service Worker ด้วย Puppeteer ตัวอย่างประกอบแสดงให้เห็นสิ่งนี้ใน Puppeteer และ Selenium
ตัวอย่างที่อัปเดตสำหรับการรับส่งข้อความในแอป
เราเพิ่งเผยแพร่ตัวอย่างที่อัปเดตสําหรับการรับส่งข้อความที่มาพร้อมระบบ API นี้ช่วยให้ส่วนขยายเริ่มทํางานและสื่อสารกับแอปพลิเคชันอื่นได้ ขอขอบคุณ Shubham-Rasal ผู้มีส่วนร่วมใน GitHub ที่ช่วยแก้ปัญหานี้
Chrome 121: พร็อพเพอร์ตี้ lastAccessed ใหม่ใน tabs.Tab
มีการเพิ่มพร็อพเพอร์ตี้ใหม่ชื่อ lastAccessed
ลงในออบเจ็กต์ tabs.Tab
พร็อพเพอร์ตี้นี้ระบุเวลาที่เปิดใช้งานแท็บครั้งล่าสุด ค่าที่แสดงผลจะเป็นมิลลิวินาทีนับจากวันที่ 1 มกราคม ค.ศ. 1970 (Epoch)
Chrome 121: ตอนนี้คีย์ "เบื้องหลัง" ที่ไม่รองรับจะแสดงคำเตือน
ในการเปลี่ยนแปลงจากไฟล์ Manifest V2 เป็นไฟล์ Manifest V3 ได้มีการเปลี่ยนรายการย่อยของคีย์ไฟล์ Manifest "background"
เพื่อรองรับการเปลี่ยนสคริปต์เบื้องหลังด้วย Dependency ของบริการส่วนขยาย ก่อนหน้านี้ การเพิ่มคีย์ไฟล์ Manifest V2 "scripts"
, "page"
หรือ "persistent"
ลงในคีย์ "background"
ของส่วนขยายไฟล์ Manifest V3 จะทำให้เกิดข้อผิดพลาด การมีคีย์เหล่านี้จะทำให้ระบบแสดงคำเตือน
การดำเนินการนี้เพื่อให้ใช้ไฟล์ Manifest ไฟล์เดียวในชิ้นงานในหลายเบราว์เซอร์ได้ ตามข้อเสนอในกลุ่มชุมชน
Chrome 120: รายละเอียดการปลุกขั้นต่ำลดลงเหลือ 30 วินาที
ส่วนขยาย Manifest V3 สามารถใช้ chrome.alarms
API ที่มีความล่าช้าหรือระยะเวลา 30 วินาทีได้ตั้งแต่ใน Chrome 120 เป็นต้นไป แทนที่จะกำหนดให้มีค่า 60 วินาทีขึ้นไป
บล็อกโพสต์: กลับมาดำเนินการต่อเพื่อเปลี่ยนไปใช้ Manifest V3
อัปเดตไทม์ไลน์การรองรับไฟล์ Manifest V2 แล้ว ดูรายละเอียดได้ในบล็อกโพสต์เดือนพฤศจิกายน 2023
บล็อกโพสต์: การปรับปรุงการรองรับการกรองเนื้อหาใน Manifest V3
ดูข้อมูลเกี่ยวกับวิธีที่เราปรับปรุง declarativeNetRequest API ในบล็อกโพสต์ใหม่ของเรา
บล็อกโพสต์: มีอะไรใหม่ใน Chrome 120 สำหรับส่วนขยาย
Chrome 120 เบต้าเพิ่งเปิดตัวเมื่อไม่นานมานี้ สำหรับสรุปอัปเดตที่สำคัญที่เกี่ยวข้องกับนักพัฒนาซอฟต์แวร์ส่วนขยาย โปรดอ่านบล็อกโพสต์ใหม่ของเรา: มีอะไรใหม่ใน Chrome 120 สำหรับส่วนขยาย เวอร์ชันนี้ยังเป็นก้าวสําคัญเนื่องจากนํา 2 รายการสุดท้าย (userScripts, ตัวจัดการไฟล์ใน ChromeOS) ออกจากรายการช่องโหว่ที่สําคัญของแพลตฟอร์ม
ประกาศแจ้ง: การเปลี่ยนแปลงการจัดการ URL นโยบายความเป็นส่วนตัวในแดชบอร์ดสำหรับนักพัฒนาซอฟต์แวร์
ตอนนี้เราเพิ่มนโยบายความเป็นส่วนตัวในแดชบอร์ดสำหรับนักพัฒนาซอฟต์แวร์ที่ระดับรายการแล้ว ซึ่งจะช่วยให้คุณระบุนโยบายความเป็นส่วนตัวที่แตกต่างกันสำหรับแต่ละรายการได้ อ่านข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ในประกาศ
วิดีโอ: พูดคุยกับ Matt Frisbie
เราเพิ่งเผยแพร่วิดีโอใหม่ในช่อง YouTube ของ Chrome for Developers ซึ่งพูดคุยกับ Matt Frisbie ซึ่งเป็น Google Developer Expert และนักเขียน ดูวิดีโอได้ที่นี่
คำแนะนำใหม่เกี่ยวกับการทดสอบส่วนขยาย
เราเพิ่งเผยแพร่คําแนะนําใหม่เกี่ยวกับวิธีเขียนการทดสอบอัตโนมัติสําหรับส่วนขยาย ซึ่งรวมถึงวิธีเขียนการทดสอบหน่วย ทั้งคําแนะนําทั่วไปและบทแนะนําเกี่ยวกับการทดสอบจากต้นทางถึงปลายทาง
บล็อกโพสต์: การเปลี่ยนแปลงในส่วนขยาย 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 พื้นที่เก็บข้อมูลบนเว็บ
เราได้เผยแพร่คู่มือใหม่เกี่ยวกับวิธีการทำงานของคุกกี้และ Web Storage API ในส่วนขยาย Chrome ซึ่งมีรายละเอียดเกี่ยวกับการเปลี่ยนแปลงของการแบ่งพาร์ติชันคุกกี้และพื้นที่เก็บข้อมูลใน Privacy Sandbox ซึ่งเป็นโปรเจ็กต์ที่กำลังดำเนินการเพื่อเลิกใช้งานคุกกี้ของบุคคลที่สามผ่านการสร้างชุด API แพลตฟอร์มเว็บชุดใหม่ รวมถึงรายละเอียดเกี่ยวกับวิธีการทำงานของคุกกี้ในส่วนขยาย
ค้นหาตัวอย่างส่วนขยายได้แล้ว
เมื่อเร็วๆ นี้เราได้สร้างหน้าเว็บที่ให้คุณค้นหาตัวอย่างส่วนขยาย Chrome หน้าค้นหามีตัวเลือกหลายรายการ ช่องค้นหาช่วยให้คุณค้นหาข้อความในชื่อตัวอย่างได้ คุณสามารถจํากัดการค้นหาตามสิทธิ์หรือ API ของส่วนขยายได้ ตัวกรองเพิ่มเติมช่วยให้คุณจำกัดการค้นหาเฉพาะ API หรือตัวอย่างฟังก์ชันการทำงาน (Use Case) ได้
หน้าตัวอย่างใหม่นี้สร้างขึ้นโดย 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: DevTools ข้ามสคริปต์เนื้อหาโดยค่าเริ่มต้น
ตอนนี้สคริปต์เนื้อหาที่แทรกเข้าไปอยู่ในรายการละเว้นของเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์โดยค่าเริ่มต้นแล้ว วิธีนี้ไม่ส่งผลกระทบต่อเบรกพอยท์ แต่หมายความว่าสคริปต์เนื้อหาจะถูกข้ามผ่านระหว่างการแก้ไขข้อบกพร่องและข้อยกเว้นจากสคริปต์เหล่านี้จะถูกละเว้น เมื่อสคริปต์เนื้อหาเปิดอยู่ในแท็บแหล่งที่มา แบนเนอร์จะแจ้งให้คุณทราบหากตัวเลือกนี้เปิดอยู่ และมีตัวเลือกให้นำสคริปต์เนื้อหาออกจากรายการละเว้น หากต้องการปิดลักษณะการทำงานนี้ ให้เปิดเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ แล้วไปที่การตั้งค่า จากนั้นไปที่รายการที่ละเว้น ดูข้อมูลเพิ่มเติมได้ที่มีอะไรใหม่ในเครื่องมือสำหรับนักพัฒนาเว็บ
Chrome 116 เบต้า: มีอะไรมากกว่าที่จะแสดงที่นี่
Chrome 116 เป็นรุ่นที่สำคัญสำหรับส่วนขยาย ตอนนี้คุณเปิดแผงด้านข้างแบบเป็นโปรแกรมได้แล้ว วิธีการใหม่ช่วยให้คุณทราบว่ามีเอกสารที่ใช้งานอยู่นอกหน้าจอหรือไม่ Service Worker ได้รับการปรับปรุงหลายอย่าง เราได้เขียนบล็อกโพสต์เพื่อสรุปการปรับปรุงเหล่านี้เนื่องจากมีการปรับปรุงมากพอในเวอร์ชัน 116 Chrome 116 อยู่ในรุ่นเบต้าตั้งแต่วันที่ 19 กรกฎาคม
บล็อกโพสต์: มีอะไรเกิดขึ้นบ้างในส่วนขยาย Chrome
เราเพิ่งเผยแพร่ภาพรวมการเปลี่ยนแปลงและการปรับปรุงส่วนขยายในปีนี้ โพสต์ดังกล่าวกล่าวถึงฟีเจอร์ใหม่ที่ยิ่งใหญ่ของปีนี้ รวมถึง Side Panel API, การปรับปรุงโปรแกรมทำงานของบริการ และเอกสารนอกหน้าจอ นอกจากนี้ คุณยังจะได้ดูตัวอย่างสิ่งที่เรากำลังดำเนินการในไตรมาสนี้ด้วย บทความนี้แสดงรายการอื่นๆ อีกมากมายพร้อมลิงก์ไปยังทั้งหมด
คำแนะนำและตัวอย่างใหม่: ดูวิธีใช้ Google Analytics 4 ในส่วนขยาย Chrome
เราได้เผยแพร่คำแนะนำและตัวอย่างใหม่ๆ ของ Google Analytics และตำแหน่งทางภูมิศาสตร์:
- คำแนะนำ Google Analytics เวอร์ชันอัปเดตที่อธิบายวิธีใช้ Google Analytics 4 ในส่วนขยาย Chrome นอกจากนี้ เรายังได้เพิ่มตัวอย่าง Google Analytics 4 ที่ใช้งานได้ไปยังที่เก็บตัวอย่าง Github ด้วย ไปที่
google-analytics.js
เพื่อดูรหัสที่เกี่ยวข้องกับ Google Analytics - คู่มือตำแหน่งทางภูมิศาสตร์ใหม่และตัวอย่าง 3 รายการที่สาธิตวิธีเข้าถึงตำแหน่งทางภูมิศาสตร์ใน Service Worker, สคริปต์เนื้อหา, ป๊อปอัป และแผงด้านข้าง
Chrome 115: ระบุเหตุผลหลายรายการใน chrome.offscreen.createDocument()
ตอนนี้คุณระบุรายการ reason
ได้หลายรายการเมื่อเรียกใช้ chrome.offscreen.createDocument()
ใช้ตัวเลือกนี้เมื่อเอกสารนอกหน้าจอจะใช้เพื่อวัตถุประสงค์หลายอย่าง โดยเบราว์เซอร์จะใช้เหตุผลที่ระบุเพื่อกำหนดอายุการใช้งานของเอกสารที่อยู่นอกหน้าจอ
เครื่องมือใหม่: เครื่องมือทดสอบการอัปเดตส่วนขยาย
เราเพิ่งเปิดตัวเครื่องมือทดสอบการอัปเดตส่วนขยาย ซึ่งเป็นเซิร์ฟเวอร์การอัปเดตส่วนขยายในเครื่องที่ใช้ทดสอบการอัปเดตส่วนขยาย Chrome ในระหว่างการพัฒนาในเครื่อง รวมถึงการให้สิทธิ์ เครื่องมือจะแสดงขั้นตอนการอัปเดตของผู้ใช้ รวมถึงการปิดใช้ส่วนขยายจนกว่าผู้ใช้จะให้สิทธิ์ที่ขอใหม่ เครื่องมือนี้มีประโยชน์อย่างยิ่งในการจําลองการเปลี่ยนแปลงสิทธิ์ที่ขอเมื่ออัปเดตส่วนขยายจากไฟล์ Manifest V2 เป็นไฟล์ Manifest V3
Chrome 114: API แผงด้านข้างใหม่
ขอแนะนำ Side Panel API ใหม่ ซึ่งเป็นแพลตฟอร์มที่ใช้ร่วมกันที่ช่วยให้ผู้ใช้เข้าถึงเครื่องมือพร้อมกับเนื้อหาที่กำลังเรียกดูได้ ดูข้อมูลเพิ่มเติมได้ที่ข้อมูลอ้างอิง Side Panel API นอกจากนี้ เรายังได้เพิ่มตัวอย่างแผงด้านข้างจำนวนมากลงในที่เก็บตัวอย่าง GitHub นอกจากนี้ เรายังแชร์ข้อมูลเพิ่มเติมเกี่ยวกับแผงด้านข้างในบล็อกโพสต์ใหม่เรื่องการออกแบบประสบการณ์การใช้งานที่ยอดเยี่ยมด้วย Side Panel API ใหม่ นอกจากนี้ เรายังได้ตรวจสอบนโยบายหลักเกณฑ์ด้านคุณภาพและแนวทางปฏิบัติแนะนำเพื่อให้คำแนะนำเพิ่มเติมเกี่ยวกับการสร้างส่วนขยายแผงด้านข้างที่มีคุณภาพสูง
ความคิดเห็นของคุณมีความสำคัญต่อการสร้าง API นี้ โปรดแชร์ความคิดเห็นและคำขอฟีเจอร์ใน chromium-groups โปรดรอติดตามข้อมูลอัปเดตใหม่ๆ ขณะที่เราปรับปรุง Side Panel API อย่างต่อเนื่อง
ตัวอย่างใหม่: WASM ในส่วนขยาย
เรามีตัวอย่างใหม่ 2 รายการที่สาธิตวิธีใช้ WASM ในส่วนขยาย ดังนี้
- การใช้ WASM ใน Manifest V3 แสดงวิธีการทั่วไปในการรวมโมดูล WASM
- การใช้ WASM เป็นโมดูลใน Manifest V3 แสดงวิธีใช้ในโมดูล
ขอขอบคุณผู้มีส่วนร่วมใน GitHub อย่าง @daidr สำหรับตัวอย่างเหล่านี้
คำแนะนำในการย้ายข้อมูลไฟล์ 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 ใหม่ซึ่งอธิบายแนวคิดสําคัญอย่างละเอียดยิ่งขึ้น เราจะขยายส่วนนี้ในอีกไม่กี่เดือนข้างหน้า
เคล็ดลับการแก้ปัญหาเพิ่มเติมสำหรับการละเมิดใน Web Store
เราได้เพิ่มคำแนะนำใหม่ 2 ด้านเพื่อช่วยในการเผยแพร่ใน Chrome เว็บสโตร์ คำแนะนำสำหรับฟังก์ชันการทำงานขั้นต่ำมุ่งเน้นที่การมอบสิทธิประโยชน์แก่ผู้ใช้และปรับปรุงประสบการณ์การท่องเว็บ หลักเกณฑ์สําหรับโฆษณาแอฟฟิลิเอตมีไว้เพื่อให้ผู้ใช้ทราบเกี่ยวกับส่วนขยายที่ใช้ลิงก์หรือโค้ดแอฟฟิลิเอตเพื่อสร้างรายได้ และเพื่อให้ผู้ใช้มีสิทธิ์ควบคุมบางอย่างโดยกำหนดให้ผู้ใช้ดำเนินการก่อนรวม
วิธีการใหม่สำหรับ Extension Manifest Converter
เราได้เขียนไฟล์ README ของ Extension Manifest Converter ใหม่เพื่อให้คุณเห็นสิ่งที่ต้องทำหลังเรียกใช้เครื่องมือได้ง่ายขึ้น ตัวแปลงจะช่วยย้ายส่วนขยายที่สร้างจากไฟล์ Manifest V2 ไปยัง Manifest V3 README ใหม่อธิบายสิ่งที่เครื่องมือทำโดยใช้คำที่ตรงกับคำในรายการตรวจสอบของคู่มือการย้ายข้อมูลเป็นอย่างมาก ตัวแปลงไม่ได้ทำทุกอย่าง แต่ช่วยขจัดงานจำนวนมากที่ไม่จําเป็นต้องอาศัยการตัดสินของมนุษย์
Chrome 113: เหตุผลใหม่สำหรับเอกสารที่อยู่นอกหน้าจอ
เราได้เพิ่มประเภทเหตุผลใหม่ 2 ประเภทลงใน Offscreen Documents API ใช้ LOCAL_STORAGE
เพื่อเข้าถึง API localStorage ของแพลตฟอร์มเว็บ ใช้ WORKER
เมื่อสร้างผู้ปฏิบัติงานบนเว็บ
Google Analytics 4 พร้อมใช้งานในหน้าแดชบอร์ดสําหรับนักพัฒนาซอฟต์แวร์แล้ว
ตอนนี้หน้าแดชบอร์ดสำหรับนักพัฒนาซอฟต์แวร์ Chrome เว็บสโตร์รองรับ Google Analytics 4 (GA4) แล้ว เราได้ลดความซับซ้อนของการตั้งค่า Google Analytics และทําให้การจัดการการเข้าถึงสําหรับผู้เผยแพร่โฆษณากลุ่มตรงไปตรงมามากขึ้น หากก่อนหน้านี้คุณใช้ Google Universal Analytics เพื่อติดตามกิจกรรมในข้อมูลผลิตภัณฑ์ในร้าน คุณจะต้องดําเนินการภายในวันที่ 1 กรกฎาคม 2023 เพื่อให้ได้รับข้อมูลเกี่ยวกับข้อมูลผลิตภัณฑ์ในร้านต่อไป โปรดดูข้อมูลเพิ่มเติมที่โพสต์ใน Google Group ส่วนขยายของ Chromium
File Handling API พร้อมให้บริการใน ChromeOS
File Handler API พร้อมใช้งานสําหรับการทดสอบบน ChromeOS ใน Canary สําหรับเวอร์ชัน 112 และ 113 ซึ่งช่วยให้ส่วนขยายใน ChromeOS เปิดไฟล์ที่มีประเภท MIME และนามสกุลไฟล์ที่ระบุได้ หากต้องการใช้ File Handling ให้เพิ่มชุดกฎลงใน manifest.json
ฟีเจอร์นี้ทํางานเหมือนกับ Progressive Web App ดูข้อมูลเพิ่มเติมได้ที่บทความอื่นๆ ในเว็บไซต์นี้
วิธีเปิดใช้การจัดการไฟล์
- ตั้งแต่เวอร์ชัน 112 เป็นต้นไป ให้เปิด Chrome โดยใช้ Flag
--enable-features=ExtensionWebFileHandlers
- เริ่มตั้งแต่ 113 ให้วาง
os://flags/#extension-web-file-handlers
ลงในแถบอเนกประสงค์ของ Chrome แล้วเลือก "เปิดใช้" จากเมนูแบบเลื่อนลง
เราหวังที่จะเปิดตัวฟีเจอร์นี้ใน Chrome 115 ในช่วงปลายเดือนมิถุนายน โปรดรอติดตามข้อมูลอัปเดต
ตัวอย่างใหม่: การประกาศแบบไดนามิกและการแทรกแบบเป็นโปรแกรม
เราได้สร้างตัวอย่างใหม่สําหรับ chrome.scripting
API วิดีโอนี้แสดงการประกาศแบบไดนามิก ซึ่งระบบจะลงทะเบียนสคริปต์เนื้อหาเมื่อรันไทม์ และการแทรกแบบเป็นโปรแกรม ซึ่งระบบจะเรียกใช้สคริปต์ในแท็บที่เปิดอยู่
ตัวอย่างใหม่: กรณีการใช้งานคำขอสุทธิแบบประกาศ
มีตัวอย่างใหม่ 3 ตัวอย่างในการสาธิต Conlarative Net Request API แต่ละรายการสาธิตการใช้งานกรณีการใช้งานเดียว รายการแรกแสดงวิธีบล็อกคุกกี้ อีก 2 รายการที่เหลือจะสาธิตการบล็อกและการเปลี่ยนเส้นทาง URL
Chrome 112: เพิ่มโควต้า storage.session
จาก Chrome 112 โควต้าสำหรับพร็อพเพอร์ตี้ storage.session
ได้เพิ่มขึ้นเป็นประมาณ 10 MB เรื่องนี้ได้รับการยอมรับในกลุ่มชุมชนส่วนขยายเว็บที่ https://github.com/w3c/webextensions/issues/350
Chrome 109: เอกสารที่อยู่นอกหน้าจอ
เอกสารนอกหน้าจอพร้อมใช้งานแล้วในส่วนขยายไฟล์ Manifest V3 ซึ่งจะช่วยในการเปลี่ยนจากหน้าในเบื้องหลังเป็น Service Worker ของส่วนขยายโดยรองรับฟีเจอร์และ API ที่เกี่ยวข้องกับ DOM โปรดอ่านบล็อกโพสต์เพื่อดูข้อมูลเพิ่มเติม
Chrome 110: เป็นส่วนขยายที่เปิดใช้
เมธอด chrome.action.isEnabled()
จะตรวจสอบแบบเป็นโปรแกรมว่าเปิดใช้ส่วนขยายในแท็บหนึ่งๆ แล้วหรือยัง ซึ่งจะช่วยคุณไม่ต้องคงสถานะเปิดใช้ของแท็บไว้ เมธอดใหม่นี้จะนำรหัสแท็บและการอ้างอิงไปยัง Callback แล้วแสดงผลบูลีน แต่มีข้อจำกัดเพียงข้อเดียว นั่นคือ แท็บที่สร้างโดยใช้ chrome.declarativeContent
จะแสดงผลเป็น "เท็จ" เสมอ
(เมื่อเร็วๆ นี้เนมสเปซ chrome.action
ได้มีวิธีการใหม่ในการควบคุมลักษณะที่ปรากฏของเครื่องหมายส่วนขยาย สำหรับข้อมูลเพิ่มเติม โปรดดูการตั้งค่าสีของป้าย)
Chrome 110: การเปลี่ยนแปลงระยะหมดเวลาของ Service Worker ที่ไม่ได้ใช้งาน
ก่อนหน้านี้ เจ้าหน้าที่ฝ่ายสนับสนุนส่วนขยายมักจะปิดแชทเมื่อครบ 5 นาที เราเปลี่ยนแปลงลักษณะการทำงานนี้ให้คล้ายกับอายุการใช้งานของ Service Worker บนเว็บมากขึ้น โปรแกรมทำงานของบริการส่วนขยายจะปิดลงหลังจากไม่มีการใช้งานเป็นเวลา 30 วินาที หรือหากกิจกรรมเดียวใช้เวลาประมวลผลนานกว่า 5 นาที ดูข้อมูลเพิ่มเติมได้ที่อายุของ W worker ของบริการส่วนขยายที่นานขึ้น
โพสต์: หยุดการเลิกใช้งาน Manifest V2 ชั่วคราว
กําหนดเวลาการเลิกใช้งาน Manifest V2 อยู่ระหว่างตรวจสอบและการทดสอบที่กำหนดเวลาไว้ในช่วงต้นปี 2023 จะถูกเลื่อนออกไป ดูข้อมูลเพิ่มเติมได้ที่อ่านข้อมูลอัปเดตใน Google Group ของส่วนขยาย Chromium
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: อนุญาตให้หน้าใน URL รูปแบบ file:// เข้าถึงทรัพยากรที่เข้าถึงได้ทางเว็บ
ต้นทางที่ทึบแสง เช่น 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()
โดยที่การคืนค่าแบบแอซิงโครนัสที่ตั้งค่าไว้สำหรับการเรียกใช้แบบ Promise จะมี "token" และ "grantedScopes" เป็นพารามิเตอร์ในออบเจ็กต์เดียว (ต่างจากเวอร์ชันการเรียกกลับที่ได้รับพารามิเตอร์เหล่านี้เป็นอาร์กิวเมนต์แยกต่างหากสำหรับการเรียกกลับ)
Chrome 104: favicons API ใหม่สำหรับ Manifest V3
ตอนนี้ส่วนขยาย Manifest V3 สามารถเข้าถึง Favicon โดยใช้รูปแบบ 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.exeเสร็จสิ้นScript()
ตอนนี้ chrome.scripting.executeScript()
ยอมรับพร็อพเพอร์ตี้ injectImmediately
ที่ไม่บังคับในอาร์กิวเมนต์ injection
แล้ว หากมีและตั้งค่าเป็น "จริง" สคริปต์จะแทรกลงในเป้าหมายโดยเร็วที่สุดแทนที่จะรอ document_idle
โปรดทราบว่าการดำเนินการนี้ไม่ได้รับประกันว่าสคริปต์จะแทรกก่อนหน้าเว็บโหลด เนื่องจากหน้าเว็บจะโหลดต่อไปขณะที่การเรียก API เกิดขึ้น
Chrome 102: การรองรับ Omnibox API ใน Manifest V3
ตอนนี้คุณใช้ Omnibox API ในส่วนขยายที่อิงตาม Service Worker ได้แล้ว ก่อนหน้านี้ เมธอดบางอย่างของ API นี้จะแสดงข้อผิดพลาดเมื่อเรียกใช้เนื่องจากมีการพึ่งพาความสามารถของ DOM ภายใน
Chrome 102: อนุญาตให้ใช้ wasm-unsafe-eval ใน CSP ของ Manifest V3
ตอนนี้ส่วนขยาย 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 ได้รับการอัปเดตเพื่อให้ชิ้นงานกําหนดเป้าหมายคำขอได้ดียิ่งขึ้นตามโดเมน "request" และ "initiator" ของคําขอ พร็อพเพอร์ตี้เงื่อนไขที่เกี่ยวข้องคือ initiatorDomains
,
excludedInitiatorDomains
, requestDomains
และ excludedRequestDomains
โปรดดูชุดข้อความเกี่ยวกับส่วนขยาย Chromium นี้ด้วย
Chrome 100: แก้ไขปัญหาเกี่ยวกับ scripting.executeScript() ในแท็บที่สร้างขึ้นใหม่
แก้ปัญหาที่เกิดขึ้นมาอย่างยาวนานที่อาจทำให้การเรียกใช้ scripting.executeScript()
ในแท็บหรือหน้าต่างที่สร้างขึ้นใหม่ล้มเหลว
Chrome 100: พอร์ตการรับส่งข้อความแบบเนทีฟช่วยให้ Service Worker ทำงานต่อไปได้
การเชื่อมต่อกับโฮสต์การรับส่งข้อความแบบเนทีฟโดยใช้ chrome.runtime.connectNative()
ใน Service Worker ของส่วนขยายควรทำให้ Service Worker ทำงานต่อไปตราบใดที่พอร์ตเปิดอยู่
Chrome 100: omnibox.setDefaultSuggestion() รองรับ Promise และ Callback
ตอนนี้เมธอด omnibox.setDefaultSuggestion()
จะแสดงสัญญาหรือยอมรับการติดต่อกลับเพื่อให้นักพัฒนาแอปพิจารณาว่าได้ตั้งค่าคำแนะนำไว้อย่างถูกต้องแล้วเมื่อใด
Chrome 100: การรองรับ i18n.getMessage() ในเวิร์กเกอร์บริการส่วนขยาย
ตอนนี้ระบบรองรับ chrome.i18n.getMessage()
API ในบริบทของ Service Worker ของส่วนขยายแล้ว
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 สามารถใช้ Fetch API เพื่อขอ URL รูปแบบ file:
ได้แล้ว แต่ผู้ใช้ยังคงต้องเปิดใช้ "อนุญาตให้เข้าถึง URL ไฟล์" สําหรับส่วนขยายในหน้า chrome://extensions
จึงจะเข้าถึง URL รูปแบบ file:
ได้
Chrome 99: สัญญาว่าจะรองรับ Messaging 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: ขยายการรองรับ Promise ไปยัง API อีก 27 รายการ
การเผยแพร่นี้มีอัปเดตเกี่ยวกับสัญญามากกว่ารุ่นก่อนหน้าอย่างมาก การอัปเดตนี้รวมถึง API ส่วนขยายทั่วไปและสำหรับ ChromeOS โดยเฉพาะ ขยายส่วนต่อไปนี้เพื่อดูรายละเอียด
Extensions API
ตอนนี้ API จำนวนหนึ่งรองรับคำสัญญาใน Manifest V3 แล้ว
chrome.browsingData
chrome.commands
chrome.contentSettings
chrome.debugger
chrome.downloads
chrome.enterprise.hardwarePlatform
chrome.fontSettings
chrome.history
chrome.instanceID
chrome.permissions
chrome.processes
chrome.search
chrome.sessions
chrome.topSites
นอกจากนี้ API ที่ใช้โปรโตไทป์ ChromeSetting
ยังรองรับ Promise ด้วย API ต่อไปนี้จะได้รับผลกระทบจากการเปลี่ยนแปลงนี้
API ของ ChromeOS
chrome.certificateProvider
chrome.documentScan
chrome.enterprise.deviceAttributes
chrome.enterprise.networkingAttributes
chrome.fileBrowserHandler
chrome.fileSystemProvider
chrome.loginState
chrome.printingMetrics
chrome.wallpaper
Chrome 96: สคริปต์เนื้อหาแบบไดนามิก
ตอนนี้ chrome.scripting
API รองรับการลงทะเบียน การอัปเดต การยกเลิกการลงทะเบียน และการดูรายการสคริปต์เนื้อหาขณะรันไทม์ ก่อนหน้านี้ ระบบสามารถประกาศสคริปต์เนื้อหาแบบคงที่ได้ใน Manifest.json ของส่วนขยาย หรือที่แทรกแบบเป็นโปรแกรมขณะรันไทม์ด้วย chrome.scripting.executeScript()
เท่านั้น
ข้อมูลอัปเดตเกี่ยวกับเอกสาร: ไทม์ไลน์การรองรับไฟล์ Manifest V2
เราได้ประกาศไทม์ไลน์การเปลี่ยนจาก Manifest V2 เป็น V3 ในบล็อกโพสต์นี้ และเผยแพร่หน้าไทม์ไลน์ที่ละเอียดยิ่งขึ้น
Chrome 96: สิทธิ์ declarativeNetRequestWithHostAccess
สิทธิ์ declarativeNetRequestWithHostAccess
ใหม่นี้ช่วยให้ส่วนขยายใช้ chrome.declarativeNetRequest
API ในเว็บไซต์ที่ส่วนขยายมีสิทธิ์ของโฮสต์ได้ การดำเนินการนี้จะทำให้ส่วนขยาย Manifest V2 ที่มีอยู่ซึ่งใช้ webRequest
, webRequestBlocking
และสิทธิ์โฮสต์เฉพาะเว็บไซต์ย้ายข้อมูลไปยัง chrome.declarativeNetRequest
API ได้โดยไม่ต้องกำหนดให้ผู้ใช้อนุมัติสิทธิ์ใหม่
Chrome 95: แทรกสคริปต์ลงในหน้าเว็บโดยตรง
ตอนนี้เมธอด executeScript()
ของ chrome.scripting
API สามารถแทรกสคริปต์ลงในเวิร์ลด์หลักของหน้าเว็บได้โดยตรง ก่อนหน้านี้ ส่วนขยายสามารถแทรกลงใน
โลกที่โดดเดี่ยวของส่วนขยายโดยตรงเท่านั้น ดูข้อมูลเพิ่มเติมเกี่ยวกับโลกที่แยกต่างหากได้ในเอกสารประกอบเกี่ยวกับสคริปต์เนื้อหา
Chrome 95: รองรับ Storage API
ตอนนี้เมธอดใน chrome.storage
API เวอร์ชัน Manifest V3 จะแสดงผลลัพธ์เป็น Promise
การปรับปรุงนโยบาย: การบังคับใช้การยืนยันแบบ 2 ขั้นตอน
เราได้อัปเดตบล็อกโพสต์การปรับปรุงนโยบายที่เผยแพร่เมื่อวันที่ 29 มิถุนายน 2021 เพื่อแก้ไขลำดับเวลาของการนำการยืนยันแบบ 2 ขั้นตอนไปใช้งาน
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 มี chrome.browserAction
และ chrome.pageActions
API มาหลายปีแล้ว แต่ Manifest V3 แทนที่ทั้ง 2 รายการด้วย chrome.actions
API ทั่วไป โพสต์นี้อธิบายประวัติของ API เหล่านี้และสิ่งที่เปลี่ยนแปลงใน Manifest V3 อ่านโพสต์
บล็อกโพสต์: แนะนำ chrome.scripting
chrome.scripting
API เป็น Manifest V3 API ใหม่ที่มุ่งเน้นไปที่สคริปต์ ในโพสต์นี้ เราจะเจาะลึกถึงแรงจูงใจในการเปลี่ยนแปลงนี้และดูความสามารถใหม่ๆ ของฟีเจอร์นี้อย่างละเอียด อ่านโพสต์
Chrome 92: การรองรับ Service Worker ของโมดูล
ตอนนี้ Chrome รองรับโมดูล JavaScript ใน Service Worker แล้ว วิธีระบุโมดูลใน ไฟล์ 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 ได้เปิดซอร์สโค้ด "Extension Manifest Converter" ซึ่งเป็นเครื่องมือ Python ที่ทำงานด้านเทคนิคบางอย่างเกี่ยวกับการแปลงส่วนขยายเป็นไฟล์ Manifest V3 ให้ทำงานอัตโนมัติ ดูบล็อกโพสต์ประกาศและดาวน์โหลดจาก GitHub
Chrome 88: Manifest V3 พร้อมใช้งานสำหรับผู้ใช้ทั่วไป
Manifest V3 เป็นการอัปเดตครั้งใหญ่สำหรับแพลตฟอร์มส่วนขยาย โปรดดูภาพรวมของ Manifest V3 เพื่อดูสรุปฟีเจอร์ใหม่และฟีเจอร์ที่มีการเปลี่ยนแปลง ส่วนขยายอาจยังใช้ไฟล์ Manifest V2 ต่อไป แต่จะทยอยเลิกใช้งานในอนาคตอันใกล้ เราขอแนะนําอย่างยิ่งให้คุณใช้ Manifest V3 สําหรับส่วนขยายใหม่ และเริ่มย้ายข้อมูลส่วนขยายที่มีอยู่ไปยัง Manifest V3 โดยเร็วที่สุด