Trigger navigator.share() directly from your browser and inspect what the platform supports. Pre-flight with navigator.canShare(), attach files, and copy a ready-to-paste JS snippet that mirrors the exact payload you tested.
navigator.canShare({ files: [<dummy>] }) with a 1-byte blob of that MIME type so you can map exactly which types your platform accepts.
navigator.share() opens the host platform's native share sheet so the user can pick a target app (Mail, Messages, Slack, etc.). It must be invoked from a user gesture (click, tap), and on the web it requires HTTPS. The promise rejects with AbortError when the user dismisses the sheet, NotAllowedError when the permission is denied, and DataError when the payload is invalid. navigator.canShare(data) lets you preflight a payload — particularly important for files, where support varies by browser and file type. Origin must match the URL field for some implementations to accept the share.