โปรดเข้ามาที่หน้านี้บ่อยๆ เพื่อเรียนรู้เกี่ยวกับการเปลี่ยนแปลงของส่วนขยาย Chrome, เอกสารเกี่ยวกับส่วนขยาย หรือนโยบายที่เกี่ยวข้องหรือการเปลี่ยนแปลงอื่นๆ คุณจะเห็นประกาศอื่นๆ ที่โพสต์ในกลุ่มส่วนขยายของ Google กำหนดการของ Chrome จะแสดงวันที่เผยแพร่เวอร์ชันเสถียรและเวอร์ชันเบต้า
วิดีโอ: การสัมภาษณ์ทีมความน่าเชื่อถือและความปลอดภัย
ทีม DevRel เกี่ยวกับส่วนขยาย Chrome ได้พูดคุยกับทีมความน่าเชื่อถือและความปลอดภัยที่นำทีมตรวจสอบใน Chrome เว็บสโตร์เพื่อถามคำถามของคุณ ดูวิดีโอแบบเต็ม
บล็อกโพสต์: การเลิกใช้งานไฟล์ Manifest V2 เริ่มต้นขึ้น
ตั้งแต่วันที่ 3 มิถุนายนเป็นต้นไปใน Chrome เวอร์ชันเบต้า เวอร์ชันที่กำลังพัฒนา และเวอร์ชัน 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 เว็บสโตร์
installPercentage พร้อมใช้งานใน API ของ Chrome เว็บสโตร์
เมื่อเร็วๆ นี้เราได้อัปเดตเอกสารประกอบของ Chrome เว็บสโตร์ API เพื่อรวมข้อมูลเกี่ยวกับ deployPercentage
ซึ่งช่วยให้คุณสามารถกำหนดเปอร์เซ็นต์ของการติดตั้งใช้งานบางส่วน ดูข้อมูลเกี่ยวกับ deployPercentage
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 ใหม่ดังต่อไปนี้
- คําแนะนําของ Google Analytics เวอร์ชันอัปเดตซึ่งอธิบายวิธีใช้ Google Analytics 4 ในส่วนขยาย Chrome นอกจากนี้เรายังเพิ่มตัวอย่าง Google Analytics 4 ที่ใช้งานได้ไปยังที่เก็บตัวอย่าง GitHub ของเรา ไปที่
google-analytics.js
เพื่อดูโค้ดที่เกี่ยวข้องกับ Google Analytics - คำแนะนำตำแหน่งทางภูมิศาสตร์ใหม่และตัวอย่าง 3 รายการที่สาธิตวิธีเข้าถึงตำแหน่งทางภูมิศาสตร์ใน Service Worker สคริปต์เนื้อหา ป๊อปอัป และแผงด้านข้าง
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 ในส่วนขยาย ได้แก่
- การใช้ WASM ในไฟล์ Manifest V3 แสดงวิธีทั่วไปในการรวมโมดูล WASM
- การใช้ WASM เป็นโมดูลในไฟล์ Manifest V3 จะแสดงวิธีใช้ในโมดูล
ขอขอบคุณเป็นพิเศษสำหรับตัวอย่างเหล่านี้จาก @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 แล้ว
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
ก็รองรับ 7 ด้วยแล้ว 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
ใหม่อนุญาตให้ส่วนขยายใช้ 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 โดยเร็วที่สุด