หากต้องการใช้ API ของส่วนขยายและฟีเจอร์ส่วนใหญ่ คุณต้องประกาศ Intent ของส่วนขยายในช่องสิทธิ์ของไฟล์ Manifest ส่วนขยายสามารถขอหมวดหมู่สิทธิ์ต่อไปนี้ ซึ่งระบุโดยใช้คีย์ไฟล์ Manifest ที่เกี่ยวข้อง
"permissions"
- มีรายการจากรายการสตริงที่รู้จัก การเปลี่ยนแปลงอาจทำให้ระบบแสดงคำเตือน
"optional_permissions"
- ให้สิทธิ์จากผู้ใช้ขณะรันไทม์ ไม่ใช่ ณ เวลาที่ติดตั้ง
"content_scripts.matches"
- มีรูปแบบการจับคู่อย่างน้อย 1 รูปแบบที่อนุญาตให้สคริปต์เนื้อหาแทรกลงในโฮสต์อย่างน้อย 1 รายการ การเปลี่ยนแปลงอาจทำให้ระบบแสดงคำเตือน
"host_permissions"
- มีรูปแบบการจับคู่อย่างน้อย 1 รูปแบบที่ให้สิทธิ์เข้าถึงโฮสต์อย่างน้อย 1 รายการ การเปลี่ยนแปลงอาจทำให้ระบบแสดงคำเตือน
"optional_host_permissions"
- ให้สิทธิ์จากผู้ใช้ขณะรันไทม์ ไม่ใช่เวลาที่ติดตั้ง
สิทธิ์จะช่วยจำกัดความเสียหายหากส่วนขยายถูกแฮ็กจากมัลแวร์ คำเตือนสิทธิ์บางรายการจะแสดงต่อผู้ใช้เมื่อได้รับความยินยอมก่อน ระหว่างการติดตั้งหรือขณะรันไทม์ ตามรายละเอียดในสิทธิ์ที่มีคำเตือน
พิจารณาใช้สิทธิ์เสริมทุกที่ที่มีฟังก์ชันการทำงานของส่วนขยาย ทำให้ผู้ใช้สามารถควบคุมสิทธิ์การเข้าถึงทรัพยากรและข้อมูลโดยมีข้อมูลประกอบ
หาก API ต้องการสิทธิ์ เอกสารประกอบของ 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 Chrome API บางรายการต้องใช้สิทธิ์ของโฮสต์เพิ่มเติมจากสิทธิ์ API ของตนเอง ซึ่งจะระบุไว้ในหน้าอ้างอิงแต่ละหน้า ตัวอย่างเช่น
- สร้างคำขอ
fetch()
จาก Service Worker และหน้าส่วนขยาย - อ่านและค้นหาพร็อพเพอร์ตี้ของแท็บที่มีความละเอียดอ่อน (URL, ชื่อ และ favIconUrl) โดยใช้
chrome.tabs
API - แทรกสคริปต์เนื้อหาแบบเป็นโปรแกรม
- ตรวจสอบและควบคุมคำขอเครือข่ายด้วย
chrome.webRequest
API - เข้าถึงคุกกี้ด้วย
chrome.cookies
API - เปลี่ยนเส้นทางและแก้ไขคำขอและส่วนหัวการตอบกลับโดยใช้
chrome.declarativeNetRequest
API
สิทธิ์ที่มีคำเตือน
เมื่อส่วนขยายหนึ่งขอสิทธิ์หลายรายการ ซึ่งหลายรายการนั้นแสดง คำเตือนในการติดตั้ง ผู้ใช้จะเห็นรายการคำเตือน ดังตัวอย่างต่อไปนี้
ผู้ใช้มีแนวโน้มที่จะเชื่อถือส่วนขยายที่มีคำเตือนแบบจำกัดหรือเมื่อมีการอธิบายสิทธิ์มากกว่า ให้พวกเขาได้ ลองใช้สิทธิ์เสริมหรือ API ที่มีประสิทธิภาพน้อยลงเพื่อหลีกเลี่ยงการปลุก อ่านแนวทางปฏิบัติแนะนำสำหรับคำเตือนได้ที่หลักเกณฑ์ของคำเตือนเกี่ยวกับสิทธิ์ เฉพาะ ที่แสดงรายการคำเตือนพร้อมสิทธิ์ที่จะนำไปใช้ใน รายการอ้างอิงสิทธิ์
การเพิ่มหรือเปลี่ยนรูปแบบการจับคู่ใน "host_permissions"
และ "content_scripts.matches"
ช่องของไฟล์ Manifest จะทำให้คำเตือนแสดงขึ้นด้วย ดูข้อมูลเพิ่มเติมได้ที่
การอัปเดตสิทธิ์
อนุญาตให้เข้าถึง
หากส่วนขยายจำเป็นต้องทำงานใน URL ของ file://
หรือทำงานในโหมดไม่ระบุตัวตน ผู้ใช้ต้องให้สิทธิ์เข้าถึงส่วนขยายในหน้ารายละเอียดของส่วนขยาย ดูวิธีการเปิดหน้ารายละเอียดได้ในส่วนจัดการส่วนขยาย
อนุญาตให้เข้าถึง URL ของไฟล์และหน้าที่ไม่ระบุตัวตน
- คลิกขวาที่ไอคอนส่วนขยายใน Chrome
เลือกจัดการส่วนขยาย
เลื่อนลงเพื่อเปิดใช้การเข้าถึง URL ของไฟล์หรือโหมดไม่ระบุตัวตน
หากต้องการตรวจสอบว่าผู้ใช้ได้อนุญาตการเข้าถึงหรือไม่ ให้โทรหา extension.isAllowedIncognitoAccess()
หรือ
extension.isAllowedFileSchemeAccess()