หากต้องการใช้ API ของส่วนขยายและฟีเจอร์ส่วนใหญ่ คุณต้องประกาศความตั้งใจของส่วนขยายในช่องสิทธิ์ของ Manifest ส่วนขยายสามารถขอสิทธิ์ในหมวดหมู่ต่อไปนี้ได้ โดยระบุโดยใช้คีย์ไฟล์ Manifest ที่เกี่ยวข้อง
"permissions"- มีรายการจากลิสต์สตริงที่รู้จัก การเปลี่ยนแปลงอาจทำให้เกิดคำเตือน
"optional_permissions"- ผู้ใช้ให้สิทธิ์ขณะรันไทม์แทนที่จะให้สิทธิ์ตอนติดตั้ง
"content_scripts.matches"- มีรูปแบบการจับคู่อย่างน้อย 1 รายการที่อนุญาตให้ Content Script แทรกในโฮสต์อย่างน้อย 1 โฮสต์ การเปลี่ยนแปลงอาจทำให้เกิดคำเตือน
"host_permissions"- มีรูปแบบการจับคู่อย่างน้อย 1 รายการที่ให้สิทธิ์เข้าถึงโฮสต์อย่างน้อย 1 โฮสต์ การเปลี่ยนแปลงอาจทำให้เกิดคำเตือน
"optional_host_permissions"- ผู้ใช้ให้สิทธิ์ขณะรันไทม์แทนที่จะให้สิทธิ์ตอนติดตั้ง
สิทธิ์จะช่วยจำกัดความเสียหายหากมัลแวร์ทำให้ส่วนขยายของคุณถูกบุกรุก ระบบจะแสดงคำเตือนเกี่ยวกับสิทธิ์บางอย่างต่อผู้ใช้เพื่อให้ความยินยอมก่อน การติดตั้งหรือที่รันไทม์ ตามที่ระบุไว้ในสิทธิ์ที่มีคำเตือน
พิจารณาใช้สิทธิ์ที่ไม่บังคับทุกที่ที่ฟังก์ชันการทํางานของส่วนขยาย อนุญาต เพื่อให้ผู้ใช้ควบคุมการเข้าถึงทรัพยากรและข้อมูลได้อย่างรอบคอบ
หาก API ต้องใช้สิทธิ์ เอกสารประกอบจะอธิบายวิธีประกาศสิทธิ์ ดูตัวอย่างได้ที่ Storage API
ไฟล์ Manifest
ต่อไปนี้เป็นตัวอย่างส่วนสิทธิ์ของไฟล์ Manifest
manifest.json:
{
"name": "Permissions Extension",
...
"permissions": [
"activeTab",
"contextMenus",
"storage"
],
"optional_permissions": [
"topSites",
],
"host_permissions": [
"https://www.developer.chrome.com/*"
],
"optional_host_permissions":[
"https://*/*",
"http://*/*"
],
...
"manifest_version": 3
}
สิทธิ์ของโฮสต์
สิทธิ์ของโฮสต์อนุญาตให้ส่วนขยายโต้ตอบกับรูปแบบที่ตรงกันของ URL API ของ Chrome บางรายการต้องใช้สิทธิ์ของโฮสต์นอกเหนือจากสิทธิ์ API ของตัวเอง ซึ่งมีการระบุไว้ในหน้าเอกสารอ้างอิงแต่ละหน้า ตัวอย่างเช่น
- ส่งคำขอ
fetch()จาก Service Worker ของส่วนขยายและหน้าส่วนขยาย - อ่านและค้นหาพร็อพเพอร์ตี้แท็บที่ละเอียดอ่อน (url, title และ favIconUrl) โดยใช้
browser.tabsAPI - แทรกสคริปต์เนื้อหาโดยใช้โปรแกรม
- ตรวจสอบและควบคุมคำขอเครือข่ายด้วย
browser.webRequestAPI - เข้าถึงคุกกี้ด้วย
browser.cookiesAPI - เปลี่ยนเส้นทางและแก้ไขส่วนหัวของคำขอและการตอบกลับโดยใช้
browser.declarativeNetRequestAPI
ในบางกรณีพิเศษ คุณไม่จำเป็นต้องมีสิทธิ์เข้าถึงโฮสต์ ซึ่งได้แก่
- การใช้
chrome.tabsAPI เพื่อเข้าถึงและแก้ไขแท็บ รวมถึงการเข้าถึง URL ของแท็บหากคุณมีสิทธิ์tabs - การโต้ตอบกับเบราว์เซอร์โดยใช้ API ของ
chrome.debugger - อนุญาตให้แทรก Content Script ที่ประกาศไว้ในไฟล์ Manifest
สิทธิ์ที่มีคำเตือน
เมื่อส่วนขยายขอสิทธิ์หลายรายการ และสิทธิ์หลายรายการแสดง คำเตือนในการติดตั้ง ผู้ใช้จะเห็นรายการคำเตือน เช่น ในตัวอย่างต่อไปนี้

ผู้ใช้มีแนวโน้มที่จะเชื่อถือส่วนขยายที่มีคำเตือนจำกัดหรือเมื่อมีการอธิบายสิทธิ์ให้ผู้ใช้ทราบ โปรดพิจารณาใช้สิทธิ์ที่ไม่บังคับหรือ API ที่มีประสิทธิภาพน้อยกว่าเพื่อหลีกเลี่ยงคำเตือนที่น่าตกใจ ดูแนวทางปฏิบัติแนะนำสำหรับคำเตือนได้ที่หลักเกณฑ์เกี่ยวกับคำเตือนเรื่องสิทธิ์ คำเตือนที่เฉพาะเจาะจงจะแสดงพร้อมกับสิทธิ์ที่คำเตือนนั้นเกี่ยวข้องในรายการอ้างอิงสิทธิ์
การเพิ่มหรือเปลี่ยนรูปแบบการจับคู่ในฟิลด์ "host_permissions" และ "content_scripts.matches"
ของไฟล์ Manifest จะทําให้เกิดคําเตือนด้วย ดูข้อมูลเพิ่มเติมได้ที่
การอัปเดตสิทธิ์
อนุญาตให้เข้าถึง
หากส่วนขยายต้องทำงานใน URL file:// หรือทำงานในโหมดไม่ระบุตัวตน ผู้ใช้ต้องให้สิทธิ์เข้าถึงส่วนขยายในหน้ารายละเอียดของส่วนขยาย ดูวิธีการเปิดหน้ารายละเอียดได้ที่ส่วนจัดการส่วนขยาย
อนุญาตให้เข้าถึงไฟล์ URL และหน้าเว็บในโหมดไม่ระบุตัวตน
- คลิกขวาที่ไอคอนส่วนขยายใน Chrome
เลือกจัดการส่วนขยาย
เมนูส่วนขยาย เลื่อนลงเพื่อเปิดใช้การเข้าถึง URL ของไฟล์หรือโหมดไม่ระบุตัวตน
เปิดใช้การเข้าถึง URL ของไฟล์และโหมดไม่ระบุตัวตน
หากต้องการตรวจหาว่าผู้ใช้ได้อนุญาตการเข้าถึงหรือไม่ คุณสามารถเรียกใช้ extension.isAllowedIncognitoAccess() หรือ
extension.isAllowedFileSchemeAccess()