วิธีใช้ Chrome ให้ได้ประโยชน์สูงสุด* API, ส่วนขยาย หรือแอปของคุณต้องประกาศความตั้งใจในช่อง "สิทธิ์" ของ manifest สิทธิ์แต่ละรายการอาจเป็นรายการสตริงที่รู้จักรายการใดรายการหนึ่ง (เช่น "ตำแหน่งทางภูมิศาสตร์") หรือรูปแบบการจับคู่ที่ให้สิทธิ์เข้าถึงโฮสต์อย่างน้อย 1 โฮสต์ สิทธิ์จะช่วยจำกัดความเสียหายหากส่วนขยายหรือแอปถูกบุกรุกมัลแวร์ ระบบจะแสดงสิทธิ์บางอย่างต่อผู้ใช้ก่อนการติดตั้งด้วย ตามที่ระบุไว้ในคำเตือนเกี่ยวกับสิทธิ์
หาก API กำหนดให้คุณประกาศสิทธิ์ในไฟล์ Manifest เอกสารประกอบของ API นั้นจะบอกวิธีดำเนินการให้คุณทราบ เช่น หน้าพื้นที่เก็บข้อมูลจะแสดงวิธีประกาศสิทธิ์ "storage"
ต่อไปนี้คือตัวอย่างส่วนสิทธิ์ของไฟล์ Manifest
"permissions": [
"tabs",
"bookmarks",
"http://www.blogger.com/",
"http://*.google.com/",
"unlimitedStorage"
],
ตารางต่อไปนี้แสดงสิทธิ์ที่ใช้ได้มีดังต่อไปนี้
สิทธิ์ | คำอธิบาย |
---|---|
"activeTab" |
ขอให้ส่วนขยายได้รับสิทธิ์ตามข้อกำหนดของ activeTab |
"alarms" |
ให้สิทธิ์เข้าถึง chrome.alarms API แก่ส่วนขยาย |
"background" |
ทำให้ Chrome เริ่มทำงานเร็วขึ้นและปิดช้าลงเพื่อให้แอปและส่วนขยายมีอายุการใช้งานนานขึ้น เมื่อแอปที่โฮสต์ แอปที่แพ็กเกจไว้ หรือส่วนขยายที่ติดตั้งไว้มีสิทธิ์ "เบื้องหลัง" Chrome จะทำงาน (โดยที่ผู้ใช้มองไม่เห็น) ทันทีที่ผู้ใช้เข้าสู่ระบบคอมพิวเตอร์ ก่อนที่ผู้ใช้จะเปิด Chrome สิทธิ์ "เบื้องหลัง" ยังทําให้ Chrome ทำงานต่อไป (แม้หลังจากปิดหน้าต่างสุดท้ายแล้ว) จนกว่าผู้ใช้จะออก Chrome อย่างชัดเจน หมายเหตุ: ระบบจะถือว่าแอปและส่วนขยายที่ปิดใช้ไม่ได้ติดตั้งไว้
โดยทั่วไป คุณจะใช้สิทธิ์ "เบื้องหลัง" กับหน้าเบื้องหลัง หน้าเหตุการณ์ หรือหน้าต่างเบื้องหลัง (สําหรับแอปที่โฮสต์) |
"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.* API |
"fileBrowserHandler" |
ให้สิทธิ์เข้าถึง chrome.fileBrowserHandler API แก่ส่วนขยาย |
"fileSystemProvider" |
ให้สิทธิ์เข้าถึง chrome.fileSystemProvider API แก่ส่วนขยาย |
"fontSettings" |
ให้สิทธิ์เข้าถึง chrome.fontSettings API แก่ส่วนขยาย |
"gcm" |
ให้สิทธิ์เข้าถึง chrome.gcm API แก่ส่วนขยาย |
"geolocation" |
อนุญาตให้ส่วนขยายหรือแอปใช้ 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" |
ให้สิทธิ์เข้าถึง chrome.printerProvider API แก่ส่วนขยาย |
"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 แก่ส่วนขยาย |
"wallpaper" |
ให้สิทธิ์เข้าถึง chrome.wallpaper API แก่ส่วนขยาย |
"webNavigation" |
ให้สิทธิ์เข้าถึง chrome.webNavigation API แก่ส่วนขยาย |
"webRequest" |
ให้สิทธิ์เข้าถึง chrome.webRequest API แก่ส่วนขยาย |
"webRequestBlocking" |
ต้องระบุหากส่วนขยายใช้ chrome.webRequest API ในลักษณะการบล็อก |