โปรดเข้ามาที่หน้านี้บ่อยๆ เพื่อดูการเปลี่ยนแปลงเกี่ยวกับส่วนขยาย Chrome, เอกสารประกอบเกี่ยวกับส่วนขยาย, นโยบาย หรือการเปลี่ยนแปลงอื่นๆ ที่เกี่ยวข้อง คุณจะเห็นประกาศอื่นๆ ที่โพสต์ไว้ในกลุ่ม Google ส่วนขยาย กำหนดการของ Chrome จะแสดงรายการวันที่เสถียรและเวอร์ชันเบต้า
วิดีโอ: โค้ดที่โฮสต์ระยะไกลคืออะไร
Patrick จากทีม Chrome Extensions จะอธิบายแนวคิดของโค้ดที่โฮสต์จากระยะไกล (RHC) ในส่วนขยายของ Chrome ดูสาเหตุที่เราไม่อนุญาตให้มี RHC อีกต่อไป วิธีตรวจหา และสิ่งที่ต้องทำหากส่วนขยายของคุณจำเป็นต้องอัปเดต ดูวิดีโอแบบเต็ม
Chrome 127: API action.openPopup ใหม่
ตั้งแต่ Chrome 127 เป็นต้นไป action.openPopup
API จะพร้อมใช้งานสำหรับส่วนขยายทั้งหมด ซึ่งก่อนหน้านี้มีให้บริการเฉพาะใน Canary หรือส่วนขยายที่ติดตั้งโดยนโยบาย
วิดีโอ: การสัมภาษณ์ทีมความน่าเชื่อถือและความปลอดภัย
ทีม 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 เว็บสโตร์
ImplementPercentage ที่มีอยู่ใน Chrome เว็บสโตร์ API
เมื่อเร็วๆ นี้เราได้อัปเดตเอกสารประกอบของ Chrome เว็บสโตร์ให้มีข้อมูลเกี่ยวกับ 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
โปรแกรมทำงานของบริการรองรับ WebGPU ตั้งแต่ Chrome 124 เป็นต้นไป หากต้องการเริ่มต้นอย่างรวดเร็ว โปรดดูตัวอย่างส่วนขยาย WebGPU
Chrome 123: Event API รองรับการกรองตามบล็อก CIDR
ตอนนี้ Event API รองรับการกรองตามการบล็อก Classless Inter-Domain Routing (CIDR) บล็อก CIDR คือชุดที่อยู่ IP ที่แชร์คำนำหน้าเครือข่ายและจำนวนบิตเดียวกัน ก่อนหน้านี้ นักพัฒนาซอฟต์แวร์ที่ต้องการกรองที่อยู่ IP หลายรายการจำเป็นต้องกำหนดค่ากฎตัวกรองสำหรับที่อยู่แต่ละรายการในช่วงที่บล็อก ตอนนี้เมื่อส่วนขยายเรียกใช้ addListener()
กฎที่ส่งผ่านแล้วจะทำให้มีการเรียกเครื่องจัดการเหตุการณ์ก็ต่อเมื่อส่วนโฮสต์ของ URL เป็นที่อยู่ IP และอยู่ในบล็อก CIDR ที่ระบุในอาร์เรย์
Chrome เว็บสโตร์: การอัปเดตข้อกำหนดด้านความยาวของชื่อส่วนขยาย
ปัจจุบัน Chrome เว็บสโตร์มีอักขระได้ไม่เกิน 75 ตัวสำหรับช่อง "name"
ของส่วนขยายใน Manifest.json ก่อนหน้านี้ ขีดจำกัดสำหรับภาษาอังกฤษคือ 45 อักขระ และไม่มีข้อจำกัดสำหรับช่อง "name"
ในภาษาอื่นๆ
แต่เดิมฟังก์ชันนี้มีไว้เพื่อรองรับความแตกต่างด้านวัฒนธรรมและภาษา ที่อาจไม่สามารถจับได้ในจำนวนอักขระที่เท่ากัน น่าเสียดายที่ นักพัฒนาซอฟต์แวร์จำนวนหนึ่งละเมิดการใช้งานฟีเจอร์นี้เพื่อสแปม Store ด้วยเหตุนี้ เราจึงขอแนะนำขีดจำกัดใหม่โดยรวมโดยเพิ่มเป็น 75 อักขระ ขีดจำกัดนี้ครอบคลุมส่วนขยายเกือบทั้งหมดใน Store ในปัจจุบัน ดังนั้นคุณจึงไม่จำเป็นต้องดำเนินการใดๆ เนื่องจากการเปลี่ยนแปลงนี้ หากคุณพยายามอัปโหลดส่วนขยายที่มีชื่อยาวกว่าขีดจำกัดสูงสุด การอัปโหลดจะถูกบล็อกโดย Store
บล็อกโพสต์: เส้นทางของดวงตาสู่การทดสอบการระงับโปรแกรมทำงานของบริการ
ในโพสต์ที่ทีม Extension Engine ของ eyeo จะพาเราแก้ปัญหาของการทดสอบโปรแกรมทำงานของบริการส่วนขยาย ในไฟล์ Manifest V2 ส่วนขยายแสดงอยู่ในหน้าพื้นหลัง ซึ่งทำงานตลอดเวลาตลอดอายุการใช้งานส่วนขยาย Manifest V3 จะใช้ Service Worker แทน ส่วน Service Worker ออกแบบมาเพื่อรักษาทรัพยากรโดยการปิดระบบเมื่อไม่จำเป็น ซึ่งแสดงถึงความท้าทาย บางประการในการทดสอบ โพสต์นี้จะอธิบายว่า Eeo จัดการกับความท้าทายเหล่านี้ได้อย่างไร
Chrome 123: ตอนนี้การปลุกจะทำงานเมื่ออุปกรณ์อยู่ในโหมดสลีป
การปลุกที่ตั้งค่าโดยใช้ chrome.alarms
API จะไม่ล่าช้าอีกต่อไปเมื่ออุปกรณ์เข้าสู่โหมดสลีป เมื่ออุปกรณ์เริ่มทำงาน นาฬิกาปลุกจะส่งเสียง 1 ครั้งไม่ว่าจะมีการปลุกกี่ครั้งก็ตาม ตัวอย่างเช่น สมมติว่ามีการตั้งนาฬิกาปลุกให้ปลุกชั่วโมงละครั้ง และอุปกรณ์ที่กำลังเปิดอยู่ในโหมดสลีปตั้งแต่ 00:55 น. ถึง 2:05 น. จากนั้นเฉพาะการปลุกตอน 2:00 น. เท่านั้นที่จะเรียกเหตุการณ์ onAlarm
ให้แสดง
และจะเริ่มทำงานใกล้กับเวลา 2.00 น. มากที่สุดและทันทีที่อุปกรณ์ตื่นนอน
หากอยู่ในโหมดนอนหลับ
การเปลี่ยนแปลงนี้ทำให้ Chrome สอดคล้องกับลักษณะการทำงานที่ตกลงไว้ในกลุ่มชุมชนส่วนขยายเว็บ
บล็อกโพสต์: การเปลี่ยนแปลงลักษณะการทํางานของ bfcache ที่มีพอร์ตข้อความส่วนขยาย
แคชย้อนหลัง (bfcache) คือการเพิ่มประสิทธิภาพเบราว์เซอร์ที่เปิดใช้การนำทางกลับและไปข้างหน้าแบบทันที ตั้งแต่ Chrome 123 เป็นต้นไป เมื่อจัดเก็บหน้าที่มีพอร์ตส่วนขยายแบบเปิดไว้ใน bfcache ระบบจะปิดช่องทางข้อความ ซึ่งหมายความว่าจะไม่มีการส่งข้อความไปยังหน้าดังกล่าว
สคริปต์ส่วนขยายจึงควรติดตามเหตุการณ์ในวงจร เช่น onDisconnect
และสร้างการเชื่อมต่อใหม่เมื่อกู้คืนหน้าเว็บจาก BFCache
ดูข้อมูลเพิ่มเติมและโค้ดตัวอย่างได้ที่การเปลี่ยนแปลงลักษณะการทำงานของ BFCache กับพอร์ตข้อความส่วนขยาย
Chrome 122: รับประกันการสนับสนุน API ส่วนขยายแบบไม่พร้อมกัน
เราติดตั้งใช้งานการสนับสนุน Promise สำหรับเมธอด API ส่วนขยายแบบไม่พร้อมกันทั้งหมดเรียบร้อยแล้ว ทั้งนี้ก็เพื่อปรับเมธอด API ให้ทันสมัยด้วยการปรับปรุงหลักการยศาสตร์ของการจัดการกับการดำเนินการแบบไม่พร้อมกัน มีวิธีหลายวิธี (เช่น desktopCapture.chooseDesktopMedia()
) ที่ยังคงรองรับ Callback เท่านั้นเนื่องจากแพลตฟอร์มปัจจุบันใช้กับ Promises ไม่ได้ จะยังรองรับ Callback สำหรับความเข้ากันได้แบบย้อนหลัง หากคุณพบคำสัญญาที่ล้มเหลว
โปรดรายงานข้อบกพร่อง
คำแนะนำใหม่สำหรับการสื่อสารแบบเรียลไทม์
เราเพิ่งเผยแพร่คำแนะนำเกี่ยวกับตัวเลือกแบบเรียลไทม์ในส่วนขยาย การอัปเดตแบบเรียลไทม์ทำให้คุณมีเส้นทางการสื่อสารแบบทันทีจากเซิร์ฟเวอร์ไปยังการติดตั้งส่วนขยายได้โดยตรง นอกจากนี้ เรายังมีคําแนะนําใหม่ในการใช้ chrome.gcm และพุชจากเว็บ
คำแนะนำและตัวอย่างใหม่: การสิ้นสุดการทำงานของ Service Worker
เราเพิ่งเผยแพร่คำแนะนำเกี่ยวกับวิธีทดสอบการสิ้นสุดของ 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 วินาที
ส่วนขยาย Manifest V3 ใน Chrome 120 จะใช้ chrome.alarms
API ที่มีความล่าช้าหรือระยะเวลา 30 วินาทีได้ แทนที่จะต้องใช้ค่า 60 วินาทีขึ้นไป
บล็อกโพสต์: การกลับมาใช้ไฟล์ Manifest V3 ต่อ
อัปเดตไทม์ไลน์การรองรับไฟล์ Manifest V2 แล้ว ดูรายละเอียดได้ในบล็อกโพสต์เดือนพฤศจิกายน 2023
บล็อกโพสต์: การปรับปรุงการรองรับการกรองเนื้อหาใน Manifest V3
ดูข้อมูลเกี่ยวกับวิธีที่เราปรับปรุง declarativeNetRequest API ในบล็อกโพสต์ใหม่ของเรา
บล็อกโพสต์: มีอะไรใหม่ใน Chrome 120 สำหรับส่วนขยาย
Chrome 120 เบต้าเพิ่งเปิดตัวเมื่อไม่นานมานี้ สำหรับสรุปอัปเดตที่สำคัญที่เกี่ยวข้องกับนักพัฒนาซอฟต์แวร์ส่วนขยาย โปรดอ่านบล็อกโพสต์ใหม่ของเรา: มีอะไรใหม่ใน Chrome 120 สำหรับส่วนขยาย รุ่นนี้ยังเป็นการบรรลุเป้าหมายสำคัญอีกด้วยเนื่องจากจะนำ 2 รายการสุดท้าย (userScript, ตัวแฮนเดิลไฟล์บน ChromeOS) ออกจากรายการช่องโหว่ที่สำคัญของแพลตฟอร์ม
PSA: การเปลี่ยนแปลงการจัดการ URL นโยบายความเป็นส่วนตัวในหน้าแดชบอร์ดสำหรับนักพัฒนาซอฟต์แวร์
ตอนนี้เราเพิ่มนโยบายความเป็นส่วนตัวในแดชบอร์ดสำหรับนักพัฒนาซอฟต์แวร์ในระดับรายการแล้ว ซึ่งจะช่วยให้คุณระบุนโยบายความเป็นส่วนตัวที่แตกต่างกันต่อสินค้าได้ อ่านเพิ่มเติมเกี่ยวกับ การเปลี่ยนแปลงนี้ได้ใน PSA ของเรา
วิดีโอ: แชทกับ Matt Frisbie
เราเพิ่งเผยแพร่วิดีโอใหม่ในช่อง YouTube ของ Chrome สำหรับนักพัฒนาซอฟต์แวร์ โดยแชทกับผู้เชี่ยวชาญนักพัฒนาซอฟต์แวร์ของ Google และผู้เขียน Matt Frisbie รับชมได้ที่นี่
คำแนะนำใหม่เกี่ยวกับการทดสอบส่วนขยาย
เราเพิ่งเผยแพร่คำแนะนำใหม่เกี่ยวกับวิธีเขียนการทดสอบอัตโนมัติสำหรับส่วนขยาย ซึ่งรวมถึงวิธีเขียนการทดสอบ 1 หน่วยและทั้งคำแนะนำทั่วไปและบทแนะนำเกี่ยวกับการทดสอบตั้งแต่ต้นจนจบ
บล็อกโพสต์: สิ่งที่เกิดขึ้นในส่วนขยาย Chrome - ตุลาคม 2023
เราเพิ่งเผยแพร่สิ่งที่เกิดขึ้นในส่วนขยาย Chrome ฉบับที่ 2 โพสต์ดังกล่าวพูดถึงสิ่งที่ทีมส่วนขยายกำลังทำอยู่ในช่วง 2-3 เดือนที่ผ่านมา รวมถึงการจัดการปัญหาด้านความเสถียรของผู้ปฏิบัติงานบริการ และการปิดช่องโหว่ทั้งหมดของแพลตฟอร์ม 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 เปลี่ยนค่าเริ่มต้นเป็น false
ตั้งแต่ 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
API chrome.declarativeNetRequest
จะบล็อกหรือแก้ไขคำขอของเครือข่ายด้วยการระบุกฎการประกาศ วิธีนี้ช่วยให้ส่วนขยายแก้ไขคำขอเครือข่ายได้โดยไม่ต้องสกัดกั้นและดูเนื้อหาของตน ดังนั้นจึงให้ความเป็นส่วนตัวแก่ผู้ใช้มากขึ้น และยังใช้งานได้ยากอีกด้วย ด้วยเหตุนี้ เราจึงเขียนคําแนะนําใหม่ในลักษณะที่น่าจะช่วยให้เห็นภาพที่ชัดเจนมากขึ้นเกี่ยวกับวิธีใช้ชุดกฎการประกาศ อ่านส่วนใหม่ที่ลิงก์ด้านบน
การใช้บัญชี Google Analytics กับ Chrome เว็บสโตร์
Chrome เว็บสโตร์มีการผสานรวมกับ Google Analytics ซึ่งช่วยให้คุณเห็นข้อมูลวิเคราะห์สำหรับข้อมูลผลิตภัณฑ์ใน Chrome เว็บสโตร์นอกเหนือจากมุมมองที่นำเสนอในหน้าแดชบอร์ดสำหรับนักพัฒนาซอฟต์แวร์ อ่านข้อมูลเพิ่มเติมได้ที่หัวข้อการใช้บัญชี Google Analytics กับ Chrome เว็บสโตร์
Chrome 115: ขั้นตอนสำหรับเครื่องมือสำหรับนักพัฒนาเว็บเหนือสคริปต์เนื้อหาโดยค่าเริ่มต้น
สคริปต์เนื้อหาที่แทรกเข้าไปอยู่ในรายการละเว้นของเครื่องมือสำหรับนักพัฒนาเว็บโดยค่าเริ่มต้นแล้ว ซึ่งไม่ส่งผลต่อเบรกพอยท์ แต่หมายความว่าสคริปต์เนื้อหาจะถูกข้ามผ่านระหว่างการแก้ไขข้อบกพร่องและข้อยกเว้นจากสคริปต์เหล่านี้จะถูกละเว้น เมื่อเปิดสคริปต์เนื้อหาในแท็บแหล่งที่มา แบนเนอร์จะแจ้งเตือนคุณหากการตั้งค่านี้เปิดอยู่ และมีตัวเลือกให้นำสคริปต์เนื้อหาออกจากรายการละเว้น หากต้องการปิดลักษณะการทำงานนี้ ให้เปิดเครื่องมือสำหรับนักพัฒนาเว็บแล้วไปที่การตั้งค่า แล้วไปที่รายชื่อที่ละเว้น ดูข้อมูลเพิ่มเติมได้ที่มีอะไรใหม่ในเครื่องมือสำหรับนักพัฒนาเว็บ
Chrome 116 เบต้า: มีมากกว่านี้
Chrome 116 เปิดตัวครั้งใหญ่สำหรับส่วนขยายต่างๆ ตอนนี้คุณเปิดแผงด้านข้างแบบเป็นโปรแกรมได้แล้ว วิธีการใหม่ช่วยให้คุณทราบว่ามีเอกสารนอกหน้าจอที่ใช้งานอยู่หรือไม่ โปรแกรมทำงานของบริการมีการปรับปรุงแบบเซิร์ฟเวอร์ เราได้เขียนบล็อกโพสต์เพื่ออธิบายปรับปรุงไปพอสมควรใน 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()
คุณสามารถระบุ enum ของ reason
ได้หลายรายการเมื่อเรียกใช้ chrome.offscreen.createDocument()
ใช้เมื่อจะใช้เอกสารนอกหน้าจอเพื่อวัตถุประสงค์ที่หลากหลาย เบราว์เซอร์จะใช้เหตุผลที่ให้ไว้เพื่อระบุอายุการใช้งานของเอกสารนอกหน้าจอ
เครื่องมือใหม่: เครื่องมือทดสอบการอัปเดตส่วนขยาย
เราเพิ่งเปิดตัวเครื่องมือทดสอบการอัปเดตส่วนขยาย ซึ่งเป็นเซิร์ฟเวอร์อัปเดตส่วนขยายในเครื่องที่สามารถใช้ทดสอบการอัปเดตส่วนขยาย Chrome ระหว่างการพัฒนาในเครื่อง รวมถึงการให้สิทธิ์ต่างๆ เครื่องมือจะแสดงขั้นตอนการอัปเดตของผู้ใช้ ซึ่งรวมถึงการปิดใช้ส่วนขยายไว้จนกว่าผู้ใช้จะให้สิทธิ์ที่ขอใหม่ เครื่องมือนี้มีประโยชน์อย่างยิ่งสำหรับการจำลองการเปลี่ยนแปลงสิทธิ์ที่ขอเมื่ออัปเดตส่วนขยายจาก Manifest V2 เป็น Manifest V3
Chrome 114: API แผงด้านข้างใหม่
ขอแนะนำ Side Panel API ใหม่ ซึ่งเป็นแพลตฟอร์มที่ใช้ร่วมกันที่ช่วยให้ผู้ใช้เข้าถึงเครื่องมือพร้อมกับเนื้อหาที่กำลังเรียกดูได้ ดูข้อมูลเพิ่มเติมได้ที่เอกสารอ้างอิง API ของแผงด้านข้าง นอกจากนี้ เราได้เพิ่มตัวอย่างแผงด้านข้างมากมายไปยังที่เก็บตัวอย่างของ GitHub นอกจากนี้ เรายังแชร์ข้อมูลเพิ่มเติมเกี่ยวกับแผงด้านข้างในบล็อกโพสต์ใหม่เรื่องการออกแบบประสบการณ์ของผู้ใช้ที่ดียิ่งขึ้นด้วย 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
เพื่อเข้าถึง API localStorage ของแพลตฟอร์มเว็บ ใช้ 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 ดูข้อมูลเพิ่มเติมได้จากบทความในส่วนอื่นของเว็บไซต์นี้
วิธีเปิดใช้ File Handling
- เริ่มต้นใน 112, เปิด Chrome โดยใช้ Flag
--enable-features=ExtensionWebFileHandlers
และจะเริ่มต้นในปี 112 - เริ่มตั้งแต่ 113 ให้วาง
os://flags/#extension-web-file-handlers
ลงในแถบอเนกประสงค์ของ Chrome แล้วเลือก "เปิดใช้" จากเมนูแบบเลื่อนลง
เราหวังที่จะเปิดตัวฟีเจอร์นี้ใน Chrome 115 ในช่วงปลายเดือนมิถุนายน คอยติดตามอัปเดตในพื้นที่นี้
ตัวอย่างใหม่: การประกาศแบบไดนามิกและการแทรกแบบเป็นโปรแกรม
เราได้สร้างตัวอย่างใหม่สําหรับ chrome.scripting
API โดยสาธิตการประกาศแบบไดนามิกที่มีการลงทะเบียนสคริปต์เนื้อหาขณะรันไทม์ และการแทรกแบบเป็นโปรแกรมที่มีการเรียกใช้สคริปต์ในแท็บที่เปิดอยู่แล้ว
ตัวอย่างใหม่: กรณีการใช้งานคำขอสุทธิแบบประกาศ
มีตัวอย่างใหม่ 3 ตัวอย่างในการสาธิต Conlarative Net Request API แต่ละแบบจะสาธิตการใช้งานกรณีการใช้งานเดียว ภาพแรกแสดงวิธีบล็อกคุกกี้ ส่วนอีก 2 รายการที่เหลือจะสาธิตการบล็อกและการเปลี่ยนเส้นทาง URL
Chrome 112: เพิ่มพื้นที่เก็บข้อมูล โควต้าเซสชัน
จาก Chrome 112 โควต้าสำหรับพร็อพเพอร์ตี้ storage.session
ได้เพิ่มขึ้นเป็นประมาณ 10 MB ซึ่งเป็นการยอมรับในกลุ่มชุมชนส่วนขยายเว็บ: https://github.com/w3c/webextensions/issues/350
Chrome 109: เอกสารนอกหน้าจอ
เอกสารนอกหน้าจอพร้อมใช้งานแล้วในส่วนขยายไฟล์ Manifest V3 ซึ่งช่วยให้ช่วยเปลี่ยนจากหน้าพื้นหลังไปเป็นโปรแกรมทำงานของบริการส่วนขยายได้ โดยให้การสนับสนุนฟีเจอร์และ API ที่เกี่ยวข้องกับ DOM โปรดอ่านบล็อกโพสต์เพื่อดูข้อมูลเพิ่มเติม
Chrome 110: เป็นส่วนขยายที่เปิดใช้
เมธอด chrome.action.isEnabled()
จะตรวจสอบว่าส่วนขยายเปิดใช้งานบนแท็บที่เฉพาะเจาะจงหรือไม่ ซึ่งจะช่วยคุณประหยัดในการรักษาสถานะเปิดใช้งานของแท็บ เมธอดใหม่นี้จะนำรหัสแท็บและการอ้างอิงไปยัง Callback แล้วแสดงผลบูลีน แต่มีข้อจำกัดเพียงข้อเดียว นั่นคือ แท็บที่สร้างโดยใช้ chrome.declarativeContent
จะแสดงผลเป็นเท็จเสมอ
(เนมสเปซ chrome.action
เพิ่งมีวิธีใหม่สำหรับควบคุมรูปลักษณ์ของป้ายส่วนขยาย สำหรับข้อมูลเพิ่มเติม โปรดดูการตั้งค่าสีของป้าย)
Chrome 110: การเปลี่ยนแปลงระยะหมดเวลาเนื่องจากไม่มีการใช้งานของ Service Worker
ก่อนหน้านี้ โปรแกรมทำงานของบริการส่วนขยายมักจะปิดตัวหลังจากเวลา 5 นาที เราเปลี่ยนแปลงลักษณะการทำงานนี้ให้คล้ายกับอายุการใช้งานของ Service Worker บนเว็บมากขึ้น โปรแกรมทำงานของบริการส่วนขยายจะปิดลงหลังจากไม่มีการใช้งานเป็นเวลา 30 วินาที หรือหากกิจกรรมเดียวใช้เวลาในการประมวลผลนานกว่า 5 นาที ดูข้อมูลเพิ่มเติมได้ที่อายุการใช้งานของ Service 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 รองรับการเรียกใช้แบบมีสัญญาแล้ว โดยมาพร้อมกับการเปลี่ยนแปลงเล็กน้อยที่ Surface สำหรับ identity.getAuthToken()
โดย Return แบบอะซิงโครนัสที่ตั้งค่าเป็นการเรียกใช้ตามสัญญาจะมี "token" และ "grantedScopes" เป็นพารามิเตอร์ในออบเจ็กต์เดียว (ต่างจากเวอร์ชัน Callback ที่ได้รับเป็นอาร์กิวเมนต์ที่แยกต่างหากให้กับ Callback)
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.exeโดยสมบูรณ์()
ตอนนี้ 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 เว็บสโตร์
Discovery บน Chrome เว็บสโตร์ให้ภาพรวมเกี่ยวกับวิธีที่ผู้ใช้ค้นหารายการต่างๆ ใน Chrome เว็บสโตร์ และวิธีที่ผู้แก้ไขของเราเลือกรายการเพื่อแสดงใน Chrome เว็บสโตร์
Chrome 101: ปรับปรุงเงื่อนไขโดเมน declarativeNetRequest
มีการอัปเดตเงื่อนไขของกฎ declarativeNetRequest เพื่อช่วยให้ส่วนขยายกำหนดเป้าหมายคำขอได้ดีขึ้นตามโดเมน "คำขอ" และ "ผู้เริ่ม" ของคำขอ พร็อพเพอร์ตี้เงื่อนไขที่เกี่ยวข้องคือ initiatorDomains
, excludedInitiatorDomains
, requestDomains
และ excludedRequestDomains
โปรดดูชุดข้อความส่วนขยาย Chromium นี้เพิ่มเติม
Chrome 100: แก้ไขปัญหาเกี่ยวกับ Scripting.executeScript() ในแท็บที่สร้างใหม่
แก้ปัญหาที่เกิดขึ้นมาอย่างยาวนานที่อาจทำให้การเรียกใช้ scripting.executeScript()
ในแท็บหรือหน้าต่างที่สร้างขึ้นใหม่ล้มเหลว
Chrome 100: พอร์ตการรับส่งข้อความในเครื่องช่วยให้โปรแกรมทำงานของบริการทำงานได้ตลอดเวลา
การเชื่อมต่อกับโฮสต์การรับส่งข้อความในเครื่องโดยใช้ chrome.runtime.connectNative()
ใน Service Worker ของส่วนขยายควรทำให้ Service Worker ใช้งานได้ตราบใดที่พอร์ตเปิดอยู่
Chrome 100: omnibox.setDefaultSuggestion() รองรับสัญญาและ 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: รับประกันการรองรับ API การรับส่งข้อความใน Canary
Promise support ได้รับการเพิ่มไว้ใน
tabs.sendMessage
,
runtime.sendMessage
และ
runtime.sendNativeMessage
สำหรับส่วนขยายที่สร้างขึ้นสำหรับ Manifest V3
การอัปเดตเอกสาร: เอกสารประกอบการตรวจสอบ Chrome เว็บสโตร์
เพิ่มหน้าอ้างอิงใหม่ที่แสดงภาพรวมของกระบวนการตรวจสอบของ Chrome เว็บสโตร์ และอธิบายวิธีการบังคับใช้นโยบายโปรแกรมสำหรับนักพัฒนาแอป
Chrome 98: Scripting.exeโดยสมบูรณ์() และ Scripting.insertCSS() ยอมรับไฟล์หลายไฟล์
ตอนนี้เมธอด executeScript()
และ insertCSS()
ของ Scripting API ยอมรับไฟล์หลายไฟล์ ก่อนหน้านี้ วิธีการเหล่านี้ต้องใช้อาร์เรย์ที่มีรายการไฟล์เดียว
การอัปเดตเอกสาร: การอัปเดตการแก้ปัญหาเกี่ยวกับการละเมิดรีวิว
หน้าการแก้ปัญหาการละเมิดใน Chrome เว็บสโตร์ได้รับการอัปเดตเพื่อให้คำแนะนำที่ละเอียดมากขึ้นแก่นักพัฒนาซอฟต์แวร์เกี่ยวกับสาเหตุที่พบบ่อยของการปฏิเสธ
Chrome 96: ขยายสัญญาว่าจะรองรับ API อีก 27 รายการ
รุ่นนี้มีการอัปเดตแนะนำมากกว่ารุ่นก่อนหน้าเป็นอย่างมาก การอัปเดตนี้รวมถึง 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
ยังรองรับการทำตามสัญญาอีกด้วย 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 จะแสดงข้อสัญญา
การปรับปรุงนโยบาย: การบังคับใช้การยืนยันสองขั้นตอน
เราได้อัปเดตบล็อกโพสต์เกี่ยวกับการอัปเดตนโยบายที่เผยแพร่เมื่อวันที่ 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 ทั้ง 2 ประเภทด้วย API ทั่วไปของ chrome.actions
โพสต์นี้จะอธิบายประวัติของ API เหล่านี้และการเปลี่ยนแปลงในไฟล์ Manifest V3 อ่านโพสต์
บล็อกโพสต์: แนะนำ chrome.scripting
chrome.scripting
API เป็น Manifest API ใหม่ V3 API ที่มุ่งเน้นด้านการเขียนสคริปต์ ในโพสต์นี้ เราจะเจาะลึกถึงแรงจูงใจของการเปลี่ยนแปลงนี้
และเจาะลึกถึงความสามารถใหม่ๆ ของการเปลี่ยนแปลงนี้ อ่านโพสต์
Chrome 92: การสนับสนุนโปรแกรมทำงานของบริการโมดูล
ตอนนี้ 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.exeโดยสมบูรณ์()
ตอนนี้ chrome.scripting.executeScript()
รองรับ
การกลับมาสัญญาแล้ว หากผลลัพธ์ของการทำงานของสคริปต์เป็นสิ่งที่คาดหวังได้ Chrome จะรอให้คำมั่นสัญญาที่ให้ไว้และแสดงผลค่าที่เป็นผลลัพธ์
Chrome 90: chrome.scripting.exeเสร็จสิ้นScript() ผลลัพธ์จะมี 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 โดยเร็วที่สุด