Permissions
Permissions
Section titled “Permissions”Introduction
Section titled “Introduction”Clipboard access requires user permission and a secure context (HTTPS or localhost).
Requirements
Section titled “Requirements”// Clipboard access requires:// - HTTPS or localhost// - User interaction (click, keypress, touch)// - Permission: 'clipboard-write' (auto-granted)// - Permission: 'clipboard-read' (requires explicit grant)Checking Permission
Section titled “Checking Permission”async function checkClipboardPermission() { const result = await navigator.permissions.query({ name: 'clipboard-read' }); console.log('Clipboard read permission:', result.state); // 'granted', 'denied', or 'prompt'}Handling Denied Access
Section titled “Handling Denied Access”async function copyToClipboard(text) { try { await navigator.clipboard.writeText(text); } catch (err) { // Fallback for older browsers or denied permission const textarea = document.createElement('textarea'); textarea.value = text; document.body.appendChild(textarea); textarea.select(); document.execCommand('copy'); document.body.removeChild(textarea); }}Summary
Section titled “Summary”- Write permission is auto-granted (with user interaction)
- Read permission requires explicit user grant
- Fall back to
document.execCommand('copy')for older browsers - Always handle permission errors gracefully