หากต้องการใช้ chrome.* ส่วนใหญ่ API ส่วนขยายหรือแอปของคุณต้องประกาศเจตนาในช่อง "สิทธิ์" ของ manifest สิทธิ์แต่ละรายการอาจเป็นสตริงที่รู้จักรายการใดรายการหนึ่ง (เช่น "ตำแหน่งทางภูมิศาสตร์") หรือรูปแบบการจับคู่ที่ให้สิทธิ์เข้าถึงโฮสต์อย่างน้อย 1 รายการ สิทธิ์จะช่วยจำกัดความเสียหายหากส่วนขยายหรือแอปของคุณถูกมัลแวร์บุกรุก นอกจากนี้ สิทธิ์บางอย่างจะแสดงต่อผู้ใช้ก่อนการติดตั้งด้วย ดังที่อธิบายไว้ในคำเตือนเกี่ยวกับสิทธิ์
หาก API กำหนดให้คุณต้องประกาศสิทธิ์ในไฟล์ Manifest เอกสารประกอบของ API จะบอกวิธีดำเนินการ ตัวอย่างเช่น หน้าพื้นที่เก็บข้อมูลจะแสดงวิธีประกาศสิทธิ์ "พื้นที่เก็บข้อมูล"
ตัวอย่างส่วนสิทธิ์ของไฟล์ Manifest มีดังนี้
"permissions": [
"tabs",
"bookmarks",
"http://www.blogger.com/",
"http://*.google.com/",
"unlimitedStorage"
],
ตารางต่อไปนี้แสดงสิทธิ์ที่ใช้ได้ในปัจจุบัน
| สิทธิ์ | คำอธิบาย |
|---|---|
"activeTab" |
ขอให้ส่วนขยายได้รับสิทธิ์ตามข้อกำหนด activeTab |
"alarms" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.alarms API |
"background" |
ทำให้ Chrome เริ่มทำงานเร็วขึ้นและปิดช้าลง เพื่อให้แอปและส่วนขยายมีอายุการใช้งานนานขึ้น เมื่อแอปที่โฮสต์ แอปที่จัดแพ็กเกจ หรือส่วนขยายที่ติดตั้งไว้มีสิทธิ์ "เบื้องหลัง" Chrome จะทำงาน (โดยไม่แสดงให้เห็น) ทันทีที่ผู้ใช้เข้าสู่ระบบคอมพิวเตอร์ ก่อนที่ผู้ใช้จะเปิด Chrome สิทธิ์ "background" ยังทำให้ Chrome ทำงานต่อไป (แม้ว่าจะปิดหน้าต่างสุดท้ายแล้ว) จนกว่าผู้ใช้จะออกจาก Chrome อย่างชัดแจ้ง หมายเหตุ: ระบบจะถือว่าแอปและส่วนขยายที่ปิดใช้ไม่ได้ติดตั้งไว้
โดยปกติแล้ว คุณจะใช้สิทธิ์ "background" กับหน้าเบื้องหลัง หน้าเหตุการณ์ หรือ (สำหรับแอปที่โฮสต์) หน้าต่างเบื้องหลัง |
"bookmarks" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.bookmarks API |
"browsingData" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.browsingData API |
"certificateProvider" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.certificateProvider API |
"clipboardRead" |
ต้องระบุหากส่วนขยายหรือแอปใช้ document.execCommand('paste') |
"clipboardWrite" |
ระบุว่าส่วนขยายหรือแอปใช้ document.execCommand('copy') หรือ document.execCommand('cut') สิทธิ์นี้จำเป็นสำหรับแอปที่โฮสต์ และแนะนำสำหรับส่วนขยายและแอปที่จัดแพ็กเกจ |
"contentSettings" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.contentSettings API |
"contextMenus" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.contextMenus API |
"cookies" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.cookies API |
"debugger" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.debugger API |
"declarativeContent" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.declarativeContent API |
"declarativeNetRequest" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.declarativeNetRequest API |
"declarativeNetRequestFeedback" |
ให้สิทธิ์ส่วนขยายเข้าถึงเหตุการณ์และเมธอดภายใน chrome.declarativeNetRequest API ซึ่งแสดงข้อมูลเกี่ยวกับกฎการประกาศที่ตรงกัน |
"declarativeWebRequest" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.declarativeWebRequest API |
"desktopCapture" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.desktopCapture API |
"documentScan" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.documentScan API |
"downloads" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.downloads API |
"enterprise.deviceAttributes" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.enterprise.deviceAttributes API |
"enterprise.hardwarePlatform" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.enterprise.hardwarePlatform API |
"enterprise.networkingAttributes" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.enterprise.networkingAttributes API |
"enterprise.platformKeys" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.enterprise.platformKeys API |
"experimental" |
จำเป็นหากส่วนขยายหรือแอปใช้ chrome.experimental.* |
"fileBrowserHandler" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.fileBrowserHandler API |
"fileSystemProvider" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.fileSystemProvider API |
"fontSettings" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.fontSettings API |
"gcm" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.gcm API |
"geolocation" |
อนุญาตให้ส่วนขยายหรือแอปใช้ API ตำแหน่งทางภูมิศาสตร์โดยไม่ต้องขอสิทธิ์จากผู้ใช้ |
"history" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.history API |
"identity" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.identity API |
"idle" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.idle API |
"loginState" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.loginState API |
"management" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.management API |
"nativeMessaging" |
ให้สิทธิ์ส่วนขยายเข้าถึง Native Messaging API |
"notifications" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.notifications API |
"pageCapture" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.pageCapture API |
"platformKeys" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.platformKeys API |
"power" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.power API |
"printerProvider" |
ให้สิทธิ์ส่วนขยายเข้าถึง API chrome.printerProvider |
"printing" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.printing API |
"printingMetrics" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.printingMetrics API |
"privacy" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.privacy API |
"processes" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.processes API |
"proxy" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.proxy API |
"scripting" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.scripting API |
"search" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.search API |
"sessions" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.sessions API |
"signedInDevices" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.signedInDevices API |
"storage" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.storage API |
"system.cpu" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.system.cpu API |
"system.display" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.system.display API |
"system.memory" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.system.memory API |
"system.storage" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.system.storage API |
"tabCapture" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.tabCapture API |
"tabGroups" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.tabGroups API |
"tabs" |
ให้สิทธิ์ส่วนขยายเข้าถึงช่องที่มีสิทธิ์ของออบเจ็กต์ Tab ที่ API หลายรายการใช้ ซึ่งรวมถึง chrome.tabs และ chrome.windows ในหลายๆ สถานการณ์ ส่วนขยายของคุณไม่จำเป็นต้องประกาศสิทธิ์ "tabs" เพื่อใช้ API เหล่านี้ |
"topSites" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.topSites API |
"tts" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.tts API |
"ttsEngine" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.ttsEngine API |
"unlimitedStorage" |
ให้โควต้าแบบไม่จำกัดสำหรับการจัดเก็บข้อมูลฝั่งไคลเอ็นต์ เช่น ฐานข้อมูลและไฟล์พื้นที่เก็บข้อมูลในเครื่อง
หากไม่มีสิทธิ์นี้ ส่วนขยายหรือแอปจะถูกจำกัดให้ใช้พื้นที่เก็บข้อมูลในเครื่องได้เพียง 5 MB หมายเหตุ: สิทธิ์นี้ใช้กับฐานข้อมูล SQL ในเว็บและแคชของแอปพลิเคชันเท่านั้น (ดูปัญหา 58985) นอกจากนี้ ปัจจุบันยังใช้กับโดเมนย่อยไวลด์การ์ด เช่น
http://*.example.com ไม่ได้ด้วย |
"vpnProvider" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.vpnProvider API |
"webNavigation" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.webNavigation API |
"webRequest" |
ให้สิทธิ์ส่วนขยายเข้าถึง chrome.webRequest API |
"webRequestBlocking" |
จำเป็นหากส่วนขยายใช้ chrome.webRequest API ในลักษณะการบล็อก |