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