Deklarowanie uprawnień

Korzystanie z większości Chrome*. interfejsów API, rozszerzenie lub aplikacja musi deklarować swoją intencję w polu „permissions” pole manifestu. Każde uprawnienie może być na liście znanych ciągów znaków (np. „geolocation”) lub wzorzec dopasowania, który daje dostęp do co najmniej jednego hosta. Pomoc dotycząca uprawnień i ogranicz szkody w przypadku, gdy Twoje rozszerzenie lub aplikacja zostanie zaatakowane przez złośliwe oprogramowanie. Wyświetlane są też niektóre uprawnienia użytkownikom przed instalacją, jak opisano w sekcji Ostrzeżenia o uprawnieniach.

Jeśli interfejs API wymaga zadeklarowania uprawnień w pliku manifestu, w dokumentacji znajdziesz instrukcje, jak to zrobić. aby to zrobić. Na przykład na stronie Miejsce na dane znajdziesz informacje o tym, jak zadeklarować „miejsce na dane”. uprawnienia.

Oto przykład części uprawnień w pliku manifestu:

"permissions": [
  "tabs",
  "bookmarks",
  "http://www.blogger.com/",
  "http://*.google.com/",
  "unlimitedStorage"
],

Obecnie dostępne uprawnienia są wymienione w tej tabeli:

Uprawnienie Opis
"activeTab" Prośby o przyznanie uprawnień zgodnie z wartością activeTab specyfikacji.
"alarms" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.alarms.
"background"

Sprawia, że Chrome uruchamia się wcześnie, a późno wyłącza, więc aplikacje i rozszerzenia mogą działać dłużej życia.

Gdy którakolwiek zainstalowana hostowana aplikacja, aplikacja w pakiecie lub rozszerzenie ma „w tle” uprawnienia, Chrome działa (niewidocznie) od razu po zalogowaniu się na komputerze, zanim użytkownik uruchomi Chrome. Podstawowe informacje Chrome będzie też działać (nawet po zamknięciu ostatniego okna), dopóki użytkownik nie wyrazi na to zgody zamyka Chrome.

Uwaga: wyłączone aplikacje i rozszerzenia są traktowane tak, jakby nie były Zainstalowano.

Zwykle używasz opcji „w tle”, uprawnienia ze stroną w tle, stroną wydarzenia lub (w przypadku hostowanych aplikacji) oknem w tle.

"bookmarks" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.bookmarks.
"browsingData" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.browsingData.
"certificateProvider" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.certificateProvider.
"clipboardRead" Wymagany, jeśli rozszerzenie lub aplikacja używa document.execCommand('paste').
"clipboardWrite" Wskazuje, że rozszerzenie lub aplikacja używa parametru document.execCommand('copy') lub document.execCommand('cut') To uprawnienie jest wymagane w przypadku aplikacji hostowanych. polecam do rozszerzeń i aplikacji w pakiecie.
"contentSettings" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.contentSettings.
"contextMenus" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.contextMenus.
"cookies" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.cookies.
"debugger" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.debugger.
"declarativeContent" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.declarativeContent.
"declarativeNetRequest" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.declarativeNetRequest.
"declarativeNetRequestFeedback" Przyznaje rozszerzeniu dostęp do zdarzeń i metod w interfejsie API chrome.declarativeNetRequest, które zwracają informacje o wartości deklaratywnej reguły zostały dopasowane.
"declarativeWebRequest" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.declarativeWebRequest.
"desktopCapture" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.desktopCapture.
"documentScan" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.documentScan.
"downloads" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.downloads.
"enterprise.deviceAttributes" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.enterprise.deviceAttributes.
"enterprise.hardwarePlatform" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.enterprise.hardwarePlatform.
"enterprise.networkingAttributes" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.enterprise.networkingAttributes.
"enterprise.platformKeys" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.enterprise.platformKeys.
"experimental" Wymagane, jeśli rozszerzenie lub aplikacja używa pliku chrome.experimental.* interfejsów API.
"fileBrowserHandler" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.fileBrowserHandler.
"fileSystemProvider" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.fileSystemProvider.
"fontSettings" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.fontSettings.
"gcm" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.gcm.
"geolocation" Umożliwia rozszerzeniu lub aplikacji korzystanie z interfejsu API geolokalizacji bez pytania użytkownika o zgodę. uprawnienia.
"history" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.history.
"identity" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.identity.
"idle" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.idle.
"loginState" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.loginState.
"management" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.management.
"nativeMessaging" Przyznaje rozszerzeniu dostęp do natywnego interfejsu API do obsługi wiadomości.
"notifications" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.notifications.
"pageCapture" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.pageCapture.
"platformKeys" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.platformKeys.
"power" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.power.
"printerProvider" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.printerProvider.
"printing" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.printing.
"printingMetrics" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.printingMetrics.
"privacy" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.privacy.
"processes" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.processes.
"proxy" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.proxy.
"scripting" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.scripting.
"sessions" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.sessions.
"signedInDevices" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.signedInDevices.
"storage" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.storage.
"system.cpu" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.system.cpu.
"system.display" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.system.display.
"system.memory" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.system.memory.
"system.storage" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.system.storage.
"tabCapture" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.tabCapture.
"tabGroups" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.tabGroups.
"tabs" Przyznaje rozszerzeniu dostęp do pól z podwyższonymi uprawnieniami obiektów Tab używanych przez kilka interfejsów API w tym chrome.tabs i chrome.windows. W w wielu przypadkach rozszerzenie nie będzie musiało deklarować uprawnień "tabs", aby korzystać z dla tych interfejsów API.
"topSites" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.topSites.
"tts" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.tts.
"ttsEngine" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.ttsEngine.
"unlimitedStorage" Zapewnia nieograniczony limit przechowywania danych po stronie klienta, takich jak bazy danych czy pliki pamięci lokalnej. Bez tych uprawnień rozmiar rozszerzenia lub aplikacji jest ograniczony do 5 MB pamięci lokalnej.
Uwaga: to uprawnienie dotyczy tylko bazy danych Web SQL i pamięci podręcznej aplikacji. (patrz problem 58985). Obecnie nie obsługuje symboli wieloznacznych subdomen, takich jak http://*.example.com.
"vpnProvider" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.vpnProvider.
"wallpaper" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.wallpaper.
"webNavigation" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.webNavigation.
"webRequest" Przyznaje rozszerzeniu dostęp do interfejsu API chrome.webRequest.
"webRequestBlocking" Wymagane, jeśli rozszerzenie w blokadzie używa interfejsu API chrome.webRequest.