Optionale Berechtigungen und Laufzeitanfragen
Fordern Sie Berechtigungen bei Bedarf statt im Voraus an, um Vertrauen aufzubauen, Prüfungen schneller zu bestehen und Ihre Angriffsfläche zu minimieren.
Optionale Berechtigungen und Laufzeitanfragen ist eine kostenlose Browser Extensions Development (Chrome & Edge)-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Browser Extensions Development (Chrome & Edge)-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Browser Extensions Development (Chrome & Edge)-Kurs umfasst insgesamt 4 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
The Problem With Asking for Everything
Requesting many permissions at install time scares users and slows store review. The principle of least privilege says request only what you need, when you need it.
Optional permissions let you ask at runtime, in context.
Required vs Optional
The manifest separates permissions (granted at install) from optional_permissions (requested later). Move anything non-essential into optional.
{
"permissions": ["storage"],
"optional_permissions": ["bookmarks", "history"]
}Optional Host Permissions
Site access can also be optional. Declare it under optional_host_permissions so users grant access to specific sites only when they choose.
{
"optional_host_permissions": ["https://*/*"]
}Requesting at Runtime
Call permissions.request in response to a user gesture, such as a button click. The browser shows a prompt.
const granted = await chrome.permissions.request({
permissions: ['bookmarks']
})
console.log('Granted: ' + granted)Must Come From a User Gesture
The request prompt only appears if triggered by a direct user action. Calling it on startup or from a timer will silently fail.
Wire it to a click handler.
button.addEventListener('click', async () => {
await chrome.permissions.request({ permissions: ['history'] })
})Checking Before Using
Before calling an API, check whether the permission is currently granted with permissions.contains.
const has = await chrome.permissions.contains({
permissions: ['bookmarks']
})
if (has) loadBookmarks()Removing Permissions
Let users revoke access they no longer want with permissions.remove. This shrinks your attack surface.
await chrome.permissions.remove({ permissions: ['history'] })Reacting to Grants and Revokes
Listen for onAdded and onRemoved to enable or disable features as permissions change.
chrome.permissions.onRemoved.addListener((p) => {
console.log('Removed: ' + p.permissions)
})Designing the Request Flow
Explain why you need a permission before prompting. A short sentence and a clear button earns far more grants than a surprise system dialog.
Faster Store Review
Extensions with broad install-time permissions face deeper review. Moving sensitive scopes to optional often speeds approval and reduces warning banners.
Graceful Degradation
Always handle the case where a permission is denied. Disable or hide the feature rather than throwing errors, so the rest of the extension keeps working.
if (!granted) showFallbackMessage()Quick Check
Test your optional permissions knowledge.
Recap
You learned runtime permission requests:
- Split required and
optional_permissions - Request from a user gesture with
permissions.request - Check with
contains, revoke withremove - React to
onAddedandonRemoved - Degrade gracefully when denied
Least-privilege design builds trust and eases store review.
Häufig gestellte Fragen
Ist die Lektion „Optionale Berechtigungen und Laufzeitanfragen“ kostenlos?
Ja — der vollständige Text von „Optionale Berechtigungen und Laufzeitanfragen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Browser Extensions Development (Chrome & Edge)-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Browser Extensions Development (Chrome & Edge)-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Optionale Berechtigungen und Laufzeitanfragen“?
Fordern Sie Berechtigungen bei Bedarf statt im Voraus an, um Vertrauen aufzubauen, Prüfungen schneller zu bestehen und Ihre Angriffsfläche zu minimieren. Du übst Browser Extensions Development (Chrome & Edge) mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Browser Extensions Development (Chrome & Edge) zu starten?
Keine Vorkenntnisse erforderlich. Browser Extensions Development (Chrome & Edge) auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Optionale Berechtigungen und Laufzeitanfragen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Browser Extensions Development (Chrome & Edge)-Lektion Code schreiben und ausführen?
Ja. Jede Browser Extensions Development (Chrome & Edge)-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Erweiterte Berechtigungen verstehen
- Praktiken für sicheres Programmieren
- Content Security Policy (CSP)
- Optionale Berechtigungen und Laufzeitanfragen