หากต้องการใช้ 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()
จากโปรแกรมทำงานของบริการส่วนขยายและหน้าส่วนขยาย - อ่านและค้นหาพร็อพเพอร์ตี้ของแท็บที่มีความละเอียดอ่อน (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()